Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2
traverse-dir-manual.pl
#!/usr/local/bin/perl -w
# traverse-dir-manual.pl -- Rekursives Durchlaufen eines Directory
use Symbol; # wg. gensym
my $top = shift; # Ab hier starten
my $check = \&wanted; # Benutzerdefinierte Funktion
traverse($top); # Erster Aufruf
sub traverse {
my $localtop = shift; # Parameter: Ab hier...
my $dirh = gensym; # Lokales Directoryhandle
my $fname;
unless (opendir($dirh, $localtop)) {
warn "Err: $localtop ($!)\n";
return;
}
while (defined ($fname = readdir($dirh))) {
# . und .. sollen uebersprungen werden:
next if $fname eq '.' or $fname eq '..';
# Eigentlicher Dateiname:
my $pname = $localtop . '/' . $fname;
# Benutzerdefinierte Funktion aufrufen
&{$check}($pname);
# Bei Verzeichnissen rufen wir uns selbst rekursiv auf.
traverse($pname) if -d $pname;
}
closedir($dirh);
}
# Dies kann beliebig geaendert werden...
sub wanted {
my $path = shift;
print "Subdir: $path\n" if -d $path;
}
[Prev] [Up] [Relevant Chapter] [Next]
[Alte Quelle]
| Last modified: $Date: 2006/05/18 12:56:09 $ FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy |
|