Perl – Bestimmte Dateitypen aus Verzeichnis auslesen
Mitunter kommt es vor das man bestimmte Dateien aus einem Verzeichnis auslesen möchte. Ein Fall für grep.
Verschiedene Beispiele
In diesem Beispiel sollen alle htm und html Dateien aus einem Verzeichnis in ein Array gelesen werden.
CODE:
opendir(DIR,"$pfad") or die "Kann $pfad nicht oeffnen $!n"; @files = grep {/^.*(\.htm$|^.*\.html$)/i} readdir DIR; closedir(DIR);
Möchte man nur alle gif Dateien eines Verzeichnisses auslesen geht das per
CODE:
opendir(DIR,"$pfad") or die "Kann $pfad nicht oeffnen $!n"; @files = grep {/^.*(\.gif$)/i} readdir DIR; closedir(DIR);
Will man einfach nur alle Dateien auslesen ändert man obigen Code so:
CODE:
opendir(DIR,"$pfad") or die "Kann $pfad nicht oeffnen $!n"; @files = grep {!/^(.|..)$/} readdir DIR; closedir(DIR);
Das Array @files kann man dann in einer Schleife nutzen um die Dateien auszugeben.
Oder aber man gibt die gefundenen Verzeichnisinhalte sofort aus
CODE:
opendir(DIR,"$pfad"); for $dateien (grep {!/^(.|..)$/} readdir DIR) { print" $dateien<br>n"; } closedir(DIR);
Keine Kommentare vorhanden