【发布时间】:2014-05-10 22:04:31
【问题描述】:
是否有一个 Perl 模块(最好是核心模块)有一个函数可以告诉我给定的文件名是否在目录(或目录的子目录,递归)内?
例如:
my $f = "/foo/bar/baz";
# prints 1
print is_inside_of($f, "/foo");
# prints 0
print is_inside_of($f, "/foo/asdf");
我可以自己编写,但有一些复杂的因素,例如符号链接、相对路径、是否可以检查文件系统等。我宁愿不重新发明轮子。
【问题讨论】:
-
这里有两种不同的技术:如果您想考虑符号链接,那么您必须对目录结构进行递归搜索以查看文件是否存在。如果您乐于忽略符号链接,则可以仅根据路径字符串做出决定
标签: perl filenames filepath subdirectory