Thomas: Entfernen nur vor bestimmten Zeichen

Beitrag lesen

Noch ein weiteres Problem:
Wenn ich den "Kill-Blank"-Ausdruck ein weiteres Mal anwende, wird er nicht mehr ausgeführt. Hier mal das ganze Ding:

<IN1>:
Hotspot 180
Jahr 2000

<IN2>:
N = Hotspot 180 ':hotspot_180', Jahr 2000 ':jahr_2000',

(...)
while(chomp($line=<IN1>)){
$line=lc($line);

Kill-Blank zum Ersten:

$line=~s/ ([0-9]+)$/$1/g;

$line=~tr/^!"§$%&/()=?´`*+'#,;.:_<>|@~\{}[]/ /;
@target=split/ +/,$line;
push(@query,@target);}

Feed-Blank zum Ersten:

foreach (@query){
$_=~s/([a-z])([0-9]+)$/$1 $2/;}

@query=sort(@query);

Warum geht hier kein chomp in der Klammer? (-> Sighup)

while($line=<IN2>){
$line=lc($line);

Kill-Blank zum Zweiten (!!!Hier funzt es nicht!!!):

$line=~s/ ([0-9]+)$/$1/g;

@target=split/ /,$line;

Feed-Blank zum Zweiten:

foreach (@target){
$_=~s/([a-z])([0-9]+)$/$1 $2/;}
push(@dict1,@target);
}

Der "Kill-Blank"-Ausdruck ist beide Male genau gleich. Wieso bewirkt er beim zweiten Mal keine Änderung?