2012-07-26 86 views
-1

我希望转义特殊字符作为引号和空格在Perl字符串中。perl字符串转义

我想避免使用正则表达式和安装额外的模块。

+3

逃避什么样的数据格式/语言(HTML中分离数据是一个完全不同的问题来逃避数据?对于SQL等) – Quentin 2012-07-26 09:57:39

+4

“我想避免使用正则表达式和安装额外的模块。” - 这些是(IMO)首先选择Perl的两个最大原因。为什么你要避免它们? – Quentin 2012-07-26 09:58:22

+0

你可以给你想要什么样的例子? – 2012-07-26 09:58:24

回答

9

使用quotemeta可能会对您有所帮助。

my $escaped = quotemeta $string_with_quotes_and_spaces; 

它将用反斜杠转义任何非字母数字或下划线的内容。

0

如果您收到字符串,那么Borodin的解答与quotemeta将工作。

如果您正在声明字符串,则可以使用qq开关声明您自己的字符串分隔符。例如使用#,而不是“或“:

这将难逃一般的字符串分隔符

+1

是的,这对我的情况并没有什么帮助,但是无论如何都要小心;) – 2012-07-26 11:32:57

+0

'qq //'不能逃脱任何事情。它只是使用除'''以外的分隔符作为双引号字符串的一种方式。 – Borodin 2013-12-06 08:38:56