擅长:python、mysql、java
<p>您可以使用<code>($new = $old) =~ s/whatever/whateverelse/;</code>获得与您正在寻找的功能完全相同的功能:</p>
<pre><code>use strict;
my $old = "OLD";
my $new;
($new = $old) =~ s/OLD/NEW/;
print "old=$old, new=$new";
</code></pre>
<p>产生:</p>
^{pr2}$
<p>正是你想要的</p>
<p>如果要查找函数,可以定义自己的函数以避免赋值:</p>
<pre><code>use strict;
sub re_sub {
my ($find, $replace, $old) = @_;
my $new = $old;
$new =~ s/$find/$replace/;
return $new;
}
my $old = "ab";
my $new = re_sub('ab', 'cd', $old);
print "new=$new\n";
</code></pre>
<p>结果是<code>new=cd</code>。在</p>