Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2
ls.pl
#!/usr/local/bin/perl -w
# ls.pl -- Mini-ls(1) mit Dateitestoperatoren.
use strict;
use Cwd;
my $start_dir = cwd;
while (@ARGV) {
my $fname = shift @ARGV;
chdir($start_dir);
&print_file($fname) if not -d $fname;
&print_dir($fname) if -d $fname;
}
sub print_dir
{
my $dir = shift;
my @dircontents;
my $file;
opendir(DIRHANDLE, $dir)
or die "can't open directory $dir: $!\n";
@dircontents = readdir(DIRHANDLE);
closedir(DIRHANDLE);
print "Directory: $dir\n";
print "----------\n";
chdir($dir); # WICHTIG!
foreach $file (sort @dircontents) {
&print_file($file);
}
}
sub print_file
{
local $_ = shift;
my $flags;
print "\t$_:\t";
$flags = "";
$flags .= "-" if -f;
$flags .= "d" if -d; $flags .= "l" if -l;
$flags .= "S" if -s; $flags .= "p" if -p;
$flags .= "b" if -b; $flags .= "c" if -c;
$flags .= ",";
$flags .= "r" if -r; $flags .= "w" if -w;
$flags .= "x" if -x; $flags .= "o" if -o;
$flags .= "R" if -R; $flags .= "W" if -W;
$flags .= "X" if -X; $flags .= "O" if -O;
print "$flags\n";
}
[Prev] [Up] [Relevant Chapter] [Next]
[Alte Quelle]
| Last modified: $Date: 2006/05/18 12:55:59 $ FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy |
|