从Perl中的替换中获取匹配变量的最简洁方法是什么?
我有时发现自己写作
我有时发现自己写作
s/(something)// ; my $x = $1 ;
然后我意识到如果s / / /失败$1可能会带来前一场比赛的值.所以我试试
my $x = 'defaultvalue' ; if ( s/(something)// ) { $x = $1 ; }
这是最干净的方式吗?
解决方法
正如其他人所指出的那样,TIMTOWTDI.
我个人将它作为单个表达式包装起来,以免过分分散注意力:
my $x = s/(something)// ? $1 : 'defaultvalue';