2016-05-15 102 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