如何在正则表达式中使用Perl变量?

时间:2010-10-03 01:51:28

标签: regex perl variables

我正在尝试搜索并替换变量。在这种情况下,我从前一场比赛中提取的变量。这是我的代码:

$fileContentToAlter =~ s/$2/$1/g;

现在我意识到在这种状态下,它被错误地读取,因为$在正则表达式中有其自己的含义。我在网上做了一些搜索,并读到双引号可以解决问题,因为它会插入,但这看起来不适合我。我不会撒谎,这是一个家庭作业,所以我不期待一个平坦的答案。只是朝着正确的方向轻推。

1 个答案:

答案 0 :(得分:5)

避免'$ 1'和'$ 2',因为它们是正则表达式元字符。

use strict;
use warnings;

my $val1 = "abc";
my $val2 = "def";
while (<>)
{
    s/$val1/$val2/g;
    print;
}