opi: Suche mit Regex

Beitrag lesen

Hallo,

ich suche in ein datei mittels regex nach bestimmte vorkomnisse und markiere sie wenn sie gefunden werden.

bsp:

open(FILE2, "<input.txt")|| die "could not open file";
       while (<FILE2>){

$_ =~ s/(SuchString)/<mark>$1</mark>/gi;

}

wo weit funktioniert das ganze OK.

Ich möchte es so erweitern dass ich den Suchstring aus einer andere Datei lese und jedes eintrag in diesem datei als suchstring verwende.

bsp datei_einträge.txt

hat folgende struktur:

Arbeit
Im Ausland

Mehr über uns erfahren Sie morgen
Aktuell
...usw

Meinst du sowas ...

Datei ./searchstring:

simpler
dies

Datei ./inputfile

dies ist ein simpler test
dies ist ein simpler test
dies ist ein simpler test

  
open(FILE_A,'<./searchstrings#);  
my $search = [ <FILE_A> ];  
chomp for @$search;  
close(FILE_A);  
  
open(FILE_B,'<$inputfile');  
while (my $line = <FILE_B>) {  
   $line =~ s/($_)/<mark>$1<\/mark>/gi for @$search;  
   print $line;  
}  
close(FILE_B);  

Ausgabe:

<mark>dies</mark> ist ein <mark>simpler</mark> test
<mark>dies</mark> ist ein <mark>simpler</mark> test
<mark>dies</mark> ist ein <mark>simpler</mark> test

Greez,
opi

--
Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|