我想匹配路径,/this/is/my/dir/name/anything但不是/this/is/my/dir/name/anything/anything2.换句话说,我希望在第一级匹配``/ this/is/my/dir/name /`下的所有文件和子目录,但不要匹配更低级别的任何文件和子目录.
您可以使用以下dirname功能File::Basename:
dirname($path) eq '/this/is/my/dir/name' or warn "No match";
Run Code Online (Sandbox Code Playgroud)
UPD:如果您更喜欢使用正则表达式:
my $dirname = '/this/is/my/dir/name';
$path =~ m|^$dirname/[^/]+/?$| or warn "No match";
Run Code Online (Sandbox Code Playgroud)