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

この質問はスラッシュとは全く関係ありません。 '^ 'アンカーを間違って使うことになります。 '^'は "文字列の先頭"を意味します。 '$ val'が"文字列の始まり、任意の文字、ピリオド、txt、文字列の終わりの0以上 "と一致するかどうかをPerlに問い合わせています。それはしません。 $ val1の 'a'は文字列の先頭に隣接していません。文字列の真ん中にあります。 '$ val2'と同じことです - ' d'は文字列の先頭に来ません。 '^'アンカーを削除してください。 –

答えて

0

あなたが前方を見つけることができますが、このエスケープシーケンスと「./f1/」でスラッシュ:

\/ 
+0

ありがとうございます。私はスクリプトを書くときに二重スラッシュ(\ /)を使っていました。ご協力いただきありがとうございます。 – GSG

関連する問題