我的 Perl 变量到变量替换不起作用

My Perl variable to variable substitutions do not work

我要在 Perl 脚本中进行替换,但我似乎无法正常工作。我在文本文件中有一个字符串,其格式为:

T+30H

字符串 T+30H 必须写在许多文件中,并且必须在文件之间更改。它是两位数,有时是三位数。首先我定义变量:

my $wrffcr=qr{T+\d+H};

读取包含字符串的文件后,我有以下替换命令(从文件捕获开始)

@scrptlines=<$NCLSCRPT>;
foreach $scrptlines (@scrptlines) {
$scrptlines =~ s/$wrffcr/T+$fcrange2[$jj]H/g;
}

$fcrange2[$jj] 已定义,我通过在上述 4 行代码之前打印其值来确认其值。

print "$fcrange2[$jj]\n";

当我 运行 我的脚本时,此特定替换没有任何变化。我怀疑这与我定义要替换的字符串的方式有关。 我将不胜感激任何帮助。 齐洛尔蒙巴

注意 my $wrffcr=qr{T+\d+H}; 中的第一个 +。它将使它匹配 1 个或多个 T,而不是 T 后跟 +。你可能想要

my $wrffcr=qr{T\+\d+H};