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