我是perl的新手,不确定如何实现以下目标。
我正在读取文件,并将这些行放入名为$ tline的变量中。接下来,我试图替换$ tline中的某些字符。
如果$ tline中包含一些特殊字符,如(,?,=等,则替换失败。如何从$ tline变量中转义特殊字符?
if ($tline ne "") {
$tline =~ s/\//\%;
}
编辑
抱歉给您带来混乱。这是我想做的。
$tline =~ s/"\//"\<\%\=request\.getContextPath\(\)\%\>\//;
这适用于大多数情况。但是什么时候输入文件有?其中,它正在失败。
请您参考如下方法:
怎么样:
$tline =~ s/\Q$var\E/;
这将导致
quotemeta
应用于正在用作模式的
$var
的内容。