Hi Leute,
wie kann ich in Perl VErzeichnisse und Unterverzeichnisse durchsuchen, und alle Dateinamen und Verzeichnisnamen auflisten bzw. in einem Array abspeichern
Ich freue mich auf Antworten
ciao Sevi
Du kannst es mal mit folgender Routine probieren
opendir(TEMP, $startverzeichnis);
$startverzeichnis ist das oberste zu durchsuchende Verzeichnis, welches in diesem Falle mit abschließendem Slash geschrieben werden sollte.
while ($name = readdir(TEMP))
{
if ($name =~/^.$^..$/) {
next;
}
elsif (-d "$startverzeichnis$name") {
push @verzeichnisse, $name;
}
elsif (-f "$startverzeichnis$name") {
push @dateien, $name;
}
else {
next;
}
}
durchsucht rekursiv die darunterliegenden Verzeichnisse
foreach $pfad (@verzeichnisse) {
opendir(TEMP, "$startverzeichnis$pfad");
while ($name = readdir(TEMP)) {
if ($name=~/^.$^..$/) {
next;
}
elsif (-d "$startverzeichnis$pfad/$name") {
push @verzeichnisse, "$pfad/$name";
}
elsif (-f "$startverzeichnis$pfad/$name") {
push @dateien, "$pfad/$name";
}
else {
next;
}
}
}