我希望在Perl字符串中转义特殊字符,例如引号和空格。
我想避免使用正则表达式并安装额外的模块。
答案 0 :(得分:9)
使用quotemeta
可能会对您有所帮助。
my $escaped = quotemeta $string_with_quotes_and_spaces;
将使用反斜杠转义任何非字母数字或下划线的内容。
答案 1 :(得分:0)
如果您收到字符串,那么带有quotemeta的Borodin解决方案将起作用。
如果要声明字符串,可以使用qq开关声明自己的字符串分隔符。例如,使用#而不是'或“:
my $string = qq#Didn't know I could do this!"how" amazing#;
这将逃避通常的字符串分隔符。