我正在尝试搜索并替换变量。在这种情况下,我从前一场比赛中提取的变量。这是我的代码:
$fileContentToAlter =~ s/$2/$1/g;
现在我意识到在这种状态下,它被错误地读取,因为$
在正则表达式中有其自己的含义。我在网上做了一些搜索,并读到双引号可以解决问题,因为它会插入,但这看起来不适合我。我不会撒谎,这是一个家庭作业,所以我不期待一个平坦的答案。只是朝着正确的方向轻推。
答案 0 :(得分:5)
避免'$ 1'和'$ 2',因为它们是正则表达式元字符。
use strict;
use warnings;
my $val1 = "abc";
my $val2 = "def";
while (<>)
{
s/$val1/$val2/g;
print;
}