#!/usr/local/bin/perl # Display many filetypes, decompresses / decrypts as needed. # (c) Hans-Peter-Stoerr (www.stoerr.net) Jan 2004 #$Id: aless,v 1.2 2004/01/29 08:53:35 stoerr Exp $ # -*- perl -*- $_=shift; $filter="cat $_ |"; while(1) { /\.gz$/ && do {$filter.="zcat |"; $_=$`; next}; /\.z$/ && do {$filter.="zcat |"; $_=$`; next}; /\.Z$/ && do {$filter.="zcat |"; $_=$`; next}; /\.bz2$/ && do {$filter.="bunzip2 |"; $_=$`; next}; /\.bz$/ && do {$filter.="bunzip |"; $_=$`; next}; /\.tar$/ && do {$filter.="tar tvf - |"; $_=$`; next}; /\.taz$/ && do {$filter.="tar tvzf - |"; $_=$`; next}; /\.tgz$/ && do {$filter.="tar tvzf - |"; $_=$`; next}; /\.[0-9]$/ && do {$filter.="nroff -man |"; $_=$`; next}; /\.pgp$/ && do {$filter.="pgp -f |"; $_=$`; next}; /\.gpg$/ && do {$filter.="gpg --decrypt |"; $_=$`; next}; /\.asc$/ && do {$filter.="pgp -f |"; $_=$`; next}; last; } continue { } if(/\.(ps|PS)$/) { $filter.="ghless"; } elsif (/\.dvi$/) { $filter.="dviless"; } elsif (/\.(pdf|PDF)$/) { $filter.="pdfless"; } else { $filter.="less -M"; } system $filter;