2013-07-31 76 views
1
my %result = "\\path\tfolder\file.txt"; 

如何在不預先加入'\'的情況下忽略\ t轉義序列。是否有這樣的:忽略perl中的轉義字符

my %result = r"\\path\tfolder\file.txt"; 

上述不起作用。

+4

你應該總是使用'​​use strict;使用警告;'在腳本中。如果你有的話,你會被給出警告:「在......的哈希賦值中有奇數個元素......」你還應該知道,說「它不工作」是描述程序設計問題的一種非常非常糟糕的方法。 – TLP

回答

2

單引號處理兩個轉義序列:\\\',所以你必須以領先的雙反斜線而不是其他人的兩倍:

my $result = '\\\\server\toppath\files'; 

爲了得到你想要的東西,你可以使用這裏 - 文件的代價是一些句法批量。

chomp(my $result = <<'EOPath'); 
\\server\toppath\files 
EOPath 

注印記從%$因爲字符串是一個標量和散列是協會的改變。

+0

$ a ='\\ server \ toppath \ files'; print $ a; – Nemo

+0

這打印\服務器。如何糾正? – Nemo

+0

http://ideone.com/RfdQOW – Nemo