Christian: RegEx mit backreference - map oder foreach?

Beitrag lesen

Hi,

ich habe ein Array @lines, worauf ich einen RegEx anwenden möchte:

foreach (@lines) {
  s/^([^$]*)$.*$/$1/;
}

Von jeder Zeile wird also nur der Anfang bis zum ersten Dollarzeichen behalten.

Könnt ihr mir sagen, warum das so nicht funktioniert?

@lines = map( s/^([^$]*)$.*$/$1/ , @lines);

Damit wird jede Zeile durch "1" ersetzt.

Schöne Grüße
Christian :)