use strict; use warnings; my $filename = ""; # für den dateinamen my $startdir = "c:\\foo\\bar\\"; # in welchem dir geht es los? my $NR_found; # für die NR opendir(DIR, $startdir) or die "Verzeichnis kann nicht geöffnet werden: $!\n"; while (defined ($filename = readdir(DIR))) { if (-f "${startdir}$filename" and $filename =~ /(^[^~].*\.txt)$/i) { # richtige art von datei? # und dann zum lesen öffnen open IN,"<${startdir}$filename" or die "Datei kann nicht geöffnet werden -> ${startdir}$filename : $!"; my @in = ; $NR_found = "0"; # variable zurücksetzen foreach my $line (@in) { # jede datei zeilenweise durchgehen if ($line =~ /(NR \d{7})/) { # was sinnvollen gefunden? $NR_found = $1; # dann speichern } } # alle zeilen durch? if ( not $NR_found eq "0") { # haben wir was? print "mit NR ->$NR_found\n"; # dann drucken } else { print "keine NR Nr.\n"; # oder fehlschlag melden } close (IN); # zumachen } } closedir (DIR); # auch da zumachen