Hallo Manfred!
Mein Code (ungetestet):
^^^^^^^^^^
??
Normalerweise posten Antwortende, die wenig Zeit haben, ungetesten Code... Wenn Du eine Lösung zu einem Problem hast, solltest Du schon den Code posten, der »getestet« zu Problemen führt... Seltsam, das.
#!/usr/bin/perl -w
my $dateiliste = "dateiliste.txt";
my $dateiname;
my $suche;
my $suchwort = "Doktor";
open my $holedateinamen, "<", $dateiliste;
while ($dateiname = <$holedateinamen>)
{
open my $durchsuchen, "<", $dateiname;
while ($suche = <$durchsuchen>)
{
if ($suche =~ /$suchwort/)
{
print "Treffer";
}
}
close $durchsuchen;
}
close $holedateinamen;
Aber wie auch immer, viel Redundanz in Deinem Code. Erstens fehlt:
use strict;
Dann unternimmst Du keinerlei Überprüfungen. Kürzer ginge es so:
#!/usr/bin/perl -w
use strict;
my $suchwort = qr/Doktor/; # quoted regexp (Muster vorkompiliert)
open LIST, "<", "dateiliste.txt" or die "Kann 'dateiliste.txt' nicht öffnen, weil: $!"; # überprüfung
while (<LIST>)
{
open FILE, "<", $_ or die "Datei $_ konnte nicht geöffnet werden, weil $!"; # Nutzung der Variable $_; Überprüfung
while (<FILE>)
{
print "Treffer" if $_ =~ /$suchwort/;
}
close FILE;
}
close LIST;
Das waren nur Anmerkungen zu dem Code, den _ich_ jetzt nicht getestet habe.
Viele Grüße aus Frankfurt/Main,
Patrick
_ - jenseits vom delirium - _

Diblom [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?