Hallo Manfred!
Verstehe nicht warum bzw. was ich falsch mache .
Ich auch nicht, aber fakt ist: »Dann machst Du irgendwas falsch« (© by Struppi) ;)
Schau:
C:>perl -w
use strict;
my $suchwort = qr/Doktor/i;
open LIST, "<", "a.txt" or die "Kann 'a.txt' nicht öffnen, weil: $!";
ung
while (<LIST>)
{
chomp;
open FILE, "<", $_ or die "Datei $_ konnte nicht geöffnet werden, weil $
!";
while (<FILE>)
{
print "Treffer\n" if $_ =~ /$suchwort/;
}
close FILE;
}
close LIST;
^Z
Treffer
Treffer
Treffer
Inhalt a.txt:
b.txt
c.txt
d.txt
Inhalt b.txt:
Doktoranten
Doktorspiele
Inhalt c.txt:
Doktor Livingstone, nehme ich an?
Dr. Schweitzer
Dr. Mabuse
Inhalt d.txt:
Hier ist kein Arzt!
Da auch nicht!
Also insgesamt aus allen Dateien drei Zeilen, die das Suchwort »Doktor« beinhalten. Mein Skript liefert drei Mal »Treffer«.
Erinnere Dich daran, was Dir Beat gestern sagte: »Bist du sicher, dass dein Dateiname eine Newline "\n" am Ende hat ?« - das fehlte in meiner ersten Antwort (ja, Beat und Struppi waren gestern schneller beim Tippen ;)) und wird jetzt berücksichtigt (chomp).
Viele Grüße aus Frankfurt/Main,
Patrick