2013-07-31 35 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