local *VERZEICHNIS; my @lesen; push @lesen,'d:/arbeit'; while (scalar @lesen) { my $verz = shift @lesen; opendir (VERZEICHNIS,$verz) or die "$!"; foreach my $file (sort {$a cmp $b} readdir VERZEICHNIS) { if (-d "$verz/$file") { push @lesen,"$verz/$file" if $file ne '.' && $file ne '..'; } elsif ($file =~ /a/) { # Durch Regex Treffer ermitteln print "Datei mit a: >$file< im Verzeichnis >$verz<\n"; # Was machen } } closedir VERZEICHNIS; }