batooh: suchen/ersetzen in csv-dateien/regulaere Ausdruecke

Beitrag lesen

Hallo.

Sowas geht natürlich nicht:
s/"(.+?)"/replace(';','',$1)/gs

Na ja, eigentlich geht das schon, es fehlt nur eine Kleinigkeit.

Gehen wir mal davon aus, du hättest eine Subroutine namens "replace", die in etwa so aussieht:

sub replace {  
  my ($this, $that, $str) = @_;  
  $str =~ s/\Q$this\E/\Q$that\E/g;  
  return $str;  
 }

Dann musst du lediglich noch das "e"-Flag bei deiner obenstehenden Ersetzung hinzufügen (d. h. /egs), damit der Ersetzungsteil als Perl-Code ausgeführt wird, und dann sollte das funktionieren.

Informationen zu den Flags findest du hier: http://de.selfhtml.org/perl/sprache/regexpr.htm#flags

Schöne Grüße.