Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Navigation

Mein Blog magenbrot.net



Mail-, Web-, Domainhosting und vieles mehr durch OVTEC Völker IT.

programmierung:perl:dateien_und_verzeichnisse_rekursiv_verarbeiten

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

, 24.05.2015 17:55

Um im UNIX zu funktionieren, muss

$file = "$dir\\$_" 

in

$file = "$dir/$_"  

umgewandelt werden.

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
J G J᠎ L Y
 
programmierung/perl/dateien_und_verzeichnisse_rekursiv_verarbeiten.txt · Zuletzt geändert: 16.04.2015 13:05 (Externe Bearbeitung)