Herbert Nassl: Verzeichnis und Unterverzeichnisse auslesen

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;}

  1. 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

    Hmm. Wie wärs damit:

    use File::Find;
    my $startdir = '/usr/local';
    my @files;
    find(&scan, $startdir);

    sub scan{
     if(-f $File::Find::name){ push @files, $File::Find::name }
    }

    fertisch

    Erwin

    --
    SELFforum - Das Tor zur Welt!
    Theoretiker: Wie kommt das Kupfer in die Leitung?
    Praktiker: Wie kommt der Strom in die Leitung?
    1. Vielen Dank Erwin,

      da sieht man gleich wo die Profis sind und wie umständlich ich das Problem lösen wollte.

      So long Herbert