Patrick Andrieu: Dateien dursuchen mit Dateiliste.

Beitrag lesen

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?