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.