整个正则表达式字符串作为变量

时间:2014-07-07 10:15:47

标签: regex string perl replace

my $re = 's/foo/bar/g';
my $x = 'one two foo';

$x =~ $re;

怎么做?

my $re1 = 'foo';
my $re2 = 'bar';

my $x = 'one two foo';

$x =~ s/$re1/$re2/g;

......对我来说不是解决方案!非常感谢提前。

1 个答案:

答案 0 :(得分:4)

您可以在匿名函数

中使用替换
my $re = sub { s/foo/bar/g for @_ };

my $x = 'one two foo';
$re->($x);