mrks: Verschachtelte for-each Schleifen mit s///

Beitrag lesen

Hallo allerseits!

Der folgende Code sollte: einen Stringvergleich zwischen Werten aus 2 Arrays durchführen. Wenn der match erfolgreich ist, dann sollte ein Teilstring der 2. Arrayvariable durch einen bestimmten Text ersetzt werden.

Dazu habe ich 2 verschachtelte foreach-Schleifen verwendet:

  
foreach (@input_datei)  
{  
	$var1 =$_;  
	  
         foreach (@input_datei_2){  
			$_=~s#\$var1#<a href="$1">$1</a>#;  
			}  
			  
}  
  
print @inputdatei;

Kann mir bitte jemand sagen warum es nicht funktioniert? Ich vermute stark, dass mit s/// etwas nicht in Ordnung ist. Optional habe ich auch mit s#\Q$var1\E#TEST# gearbeitet. Brachte auch nichts. Darf zwischen den ersten beiden // keine Variable stehen?

Eine andere Vermutung: der Wert von $var1 geht in der 2. Schleife irgendwie verloren. Bin jedenfalls ratlos und blind für eine Lösung. Danke im Voraus.