Benne: RegEx mit backreference - map oder foreach?

Beitrag lesen

Hallo Christian,

Könnt ihr mir sagen, warum das so nicht funktioniert?
@lines = map( s/^([^$]*)$.*$/$1/ , @lines);

die Lösung hat dir MudGuard schon gegeben.
Die richtige Lösung mit map würde so aussehen:

  
my @nLines = map { /^([^\$]*)\$.*$/ } @lines;  

du kannst dir im Prinzip merken, dass innerhalb von map fast nie eine Ersetzung vorkommt. In diesen Fällen verwendet man idR. for(each).

Gruß,
Benne

--
ie:% fl:( br:> va:) ls:> fo:| rl:° ss:) de:[ js:| ch:| mo:} zu:)