In Perl, was ist eine gute Möglichkeit, eine Ersetzung für eine Zeichenfolge mit einem regulären Ausdruck durchzuführen und den Wert in einer anderen Variablen zu speichern, ohne das Original zu ändern?Wie führe ich eine Perl-Substitution in einer Zeichenfolge aus, während das Original beibehalten wird?
Normalerweise kopiere ich die Zeichenfolge in eine neue Variable und binde sie dann an die s///
Regex, die den Ersatz für die neue Zeichenfolge tut, aber ich frage mich, ob es eine bessere Möglichkeit gibt, dies zu tun?
$newstring = $oldstring;
$newstring =~ s/foo/bar/g;
Ob unter Verwendung streng oder nicht. Minimaler Gültigkeitsbereich der Variablen ++ – ysth
Ich frage mich, ob etwas wie 'my $ new = $ _ für $ old = ~ s/foo/bar;' funktionieren würde? – Benoit
@Benoit, ich glaube du meinst 's/foo/bar/für meine $ newstring = $ oldstring;' Es funktioniert, aber es ist weit seltsamer. – ikegami