Ich habe eine txt-Datei in der mehrere Dateinamen aufgelistet sind (ein Dateiname pro Zeile).
Nun möchte ich die txt-Datei durchlaufen lassen und nacheinander die Dateien öffnen und diese durchsuchen. Leider bekomme ich eine Fehlermeldung.
Frage.
Befinden sich die textdatei und die zu öffnenden Dateien im gleichen Verzeichnis?
Mein Code (ungetestet):
#!/usr/bin/perl -w
use strict;
my $dateiliste = "dateiliste.txt";
my $dateiname;
my $suche;
my $suchwort = "Doktor";
open my $holedateinamen, "<", $dateiliste;
Und was machst du mit einem Fehler?
while ($dateiname = <$holedateinamen>)
Bist du sicher, dass dein Dateiname eine Newline "\n" am Ende hat ?
{
open my $durchsuchen, "<", $dateiname;
und was machst du im Fehlerfall?
while ($suche = <$durchsuchen>)
{
if ($suche =~ /$suchwort/)
Wer oder was definiert dieses Suchwort?
Bist du sicher, dass du eine RE verwenden willst, wenn index() das Mittel der Wahl wäre?
{
print "Treffer";
Wenn du den Buffer nicht unflushed hast, dann siehst du eh nix
bis zur nächsten gedruckten newline.
}
}
close $durchsuchen;
}
close $holedateinamen;
Ich bekomme im Interpreter folgende Fehlermeldung:
readline() on closed filehandle $durchsuchen ...Wo liegt der Fehler?
Reden wir von Plural.
Du denkst nicht daran, dass du zweimal das gleiche File öffnest.
mfg Beat
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische