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