Metainformationen zur Seite
Dateien und Verzeichnisse rekursiv verarbeiten
Diese Snippet verarbeitet Dateien und Verzeichnisse und steigt dabei auch in Unterverzeichnisse ein. Gibt den Filenamen aus wenn eine Datei gefunden wurde. Wenn ein Verzeichnis gefunden wurde wird der Name aufgerufen und DoDir rekursiv aufgerufen.
my $root = "/home/user"; DoDir($root); sub DoDir { my $dir = shift; my $file; opendir(DIR, $dir) || die "Unable to open $dir: $!"; my(@files) = grep {!/^\.\.?$/ } readdir(DIR); closedir(DIR); foreach (@files) { if (-d ($file = "$dir\\$_")) { print "Found a directory: $file\n"; DoDir($file); } else { print "File: $file\n"; } } }
Diskussion
Um im UNIX zu funktionieren, muss
in
umgewandelt werden.