我是perl的新手,不确定如何实现以下目标。
我正在读取文件,并将这些行放入名为$ tline的变量中。接下来,我试图替换$ tline中的某些字符。
如果$ tline中包含一些特殊字符,如(,?,=等,则替换失败。如何从$ tline变量中转义特殊字符?

if ($tline ne "") { 
 
   $tline =~ s/\//\%; 
} 

编辑

抱歉给您带来混乱。这是我想做的。
$tline =~ s/"\//"\<\%\=request\.getContextPath\(\)\%\>\//; 

这适用于大多数情况。但是什么时候输入文件有?其中,它正在失败。

请您参考如下方法:

怎么样:

$tline =~ s/\Q$var\E/; 

这将导致 quotemeta应用于正在用作模式的 $var的内容。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!