所以我正在研究一个在输入上执行替换命令的perl脚本,输入将有反斜杠。所以只需用新文本替换一些文本
例如,如果输入是
"\text"
我可能会输出
"newText"
请注意删除斜杠。
以下是一些代码:
$oldText = "\\Text";
while (<STDIN>) {
$ln = $_;
$ln2 = $_;
$ln2 =~ s/\\Text/newText/;
$ln =~ s/$oldText/newText/;
}
print "$ln\n";
print "$ln2\n";
当输入为&#34; Text&#34;输出是
\newText #Incorrect because the \ is still there
newText #Correct
任何人都可以解释为什么使用字符串而不是变量将输出更改为我想要的?我知道\ derefences下面的字符,这可能是问题的根源。但我无法理解为什么使用变量会改变输出。将变量oldText更改为&#34; \ text&#34;不会改变输出。