Suchen nach einer Liste von Zeichenketten in einer Datei

freshone

Grünschnabel
Hallo,

ich bin mir eine kleine Perl Suchhilfe am basteln. Leider hatte ich bisher nur wenig mit Perl zu tun. Irgendwie finde ich keinen Weg das nachfolgende Script erfolgreich zu nutzen.

Meine Idee ist:
1. Ich habe eine Datei mit Suchwerten: hier das Feld "field"
2. Ich habe eine Liste von Dateien welche ich eine nach der Anderen auf die Werte der Suchliste durchsuchen möchte.
3. Das Ergebnis ist eine Liste aller Werte mit ihrer Häufigkeit in jeder Datei.
Verwende ich statt:
if(m/\$needle/)
if(m/ED126/)
erhalte ich auch ein Ergebnis.

Verwende ich $needle klappt das nicht.
Hat jemand von Euch eine Idee was ich falsch mache? Und wie ich das Problem lösen könnte?

Vorab schon vielen Dank für Eure Hilfe.

Gruß,
freshone


HTML:
     # field with all Values to seach for
     @field = (
      "ED126",
      "ED127",
      "ED128"
      );
     # Find files in which to seach
     foreach $file(glob "*.vf1") {
      open FH,$file;
     	print "Current File: $file \n";
     	foreach $needle(@field){
     	print "Current search value: $needle \n";
     	while(<FH>) {
        if(m/\$needle/) {
     			 $i++;
     			}
     		}	
     	print "$needle : $i \n";
      }
     close FH;
     }
 
Hallo Renee,

danke für den Tipp! Damit geht es.
Und wenn ich dann noch
Code:
seek(FH,0,0);
einfüge haut es auch mit der Mehrfachsuche hin.

Gruß,
freshone
 

Neue Beiträge

Zurück