2012-07-26 293 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