我的 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};
我要在 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};