我在Perl中有以下子程序用"abc"替换字符串中的"xyz":
sub mySubst {
my ($str) = @_;
$str =~ s|abc|xyz|ig;
return $str;
}
Run Code Online (Sandbox Code Playgroud)
它有效,但对于Perl来说似乎太冗长了.我怎样才能把它收紧?
你有什么好.
shift也可以,但更改@_(可能或可能不是你想要的.) 有关于PerlMonks的讨论有关转移vs @_你可能感兴趣的.local $_ = shift;或local ($_) = @_;哪些不会增加太多.)return.这是一个温暖的模糊.去吧.我认为你走在正确的轨道上.
如果您正在寻找高尔夫,而不是生产代码.
use strict; ## Not really required ;)
use warnings; ## Not really required ;)
sub f{local$_=pop,s/foo/bar/ig;$_}
print f 'foobarbaz';
Run Code Online (Sandbox Code Playgroud)