2016-05-15 55 views
-1

假设我有3个变量。识别正斜杠

my $val1 = './f1/abc.txt'; #f1 is the folder where abc.txt resides. 

my $val2 = './f1/def.txt'; 

my $val3 = 'gh.txt'; 

我在阅读'./f1/'部分时遇到了一个问题。

if ($val1 =~ m/^a.*\.txt$/ or $val2 =~ m/^d.*\.txt$/) { print $val3; } 

这不适用于文件夹名称。请帮忙。

+0

这个问题有绝对无关,与正斜杠。它必须使用'^'锚不正确地处理你。 '^'的意思是“字符串的开头”。你问Perl是否'$ val'符合:“字符串的开始,a,0或更多的任何字符,句点,txt,字符串的结尾”。它没有。 $ val1中的'a'不与字符串的开头相邻,它位于字符串的中间。 '$ val2'也是一样 - 'd'不在字符串的开头。删除'^'锚点。 –

回答

0

您可以找到正斜线“./f1/”这个转义序列:

\/ 
+0

感谢队友。我只是在编写脚本时使用双斜杠(\ //)。谢谢你的帮助。 – GSG