【发布时间】:2016-09-11 15:12:43
【问题描述】:
假设我有 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; }
这不适用于文件夹名称。请帮忙。
【问题讨论】:
-
这个问题与正斜杠完全无关。它与您错误地使用
^锚点有关。^表示“字符串的开头”。您在询问 Perl$val是否匹配:“字符串开头、a、0 或多个任意字符、句点、txt、字符串结尾”。它没有。 $val1 中的a与字符串的开头不相邻,它在字符串的中间。$val2也是如此 -d不在字符串的开头。删除^锚点。