Herbert Nassl: Verzeichnis und Unterverzeichnisse auslesen

Beitrag lesen

Hallo,

ich will mit dem folgenden Script alle Verzeichnisse inkl. Unterverzeichnisse nach Daten durchsuchen und diese im Array @files abspeichern. Irgendwo steckt noch ein fehler drin, aber ich finde ihn nicht. Die Verzeichnisse bzw. Unterverzeichnisse werden korrekt in das Array @Dirs abgelegt. Die Zuordnung der Dateien zu den Verzeichnissen funktioniert nicht richtig.
Ich wäre sehr dankbar, wenn sich jemand das Script mal anschaut und mir weiterhilft.

Danke Euch
Herbert

@temp = &mySearch("./");

exit(0);

sub mySearch()
{
 @Dirs = ();
 @files = ();
 $Dirs[0] = $_[0];
 MYSEARCH: {
            foreach $temp0 (@Dirs) {
            shift @Dirs;
            opendir(MYDIR, $temp0);
            foreach $temp1 (readdir MYDIR) {
if( ($temp1 !~ /.\w{2,4}/) && ($temp1 ne ".") && ($temp1 ne "..") ) {
 push @Dirs, $temp0 . "/" . $temp1;
} elsif (($temp1 ne ".") && ($temp1 ne "..") )
{
 push @files, ([$temp1, $temp0]);
}
}
}

if(@Dirs) { redo MYSEARCH; }   }   return @files;}