Perl目录存在等效的-e

时间:2013-08-04 20:48:05

标签: perl directory file-type stat

-e  File exists.

目录存在吗? 因为我没有在http://perldoc.perl.org/functions/-X.html

上看到它

或者测试它的最佳方法是什么?

next unless (-e $dir . "/dirname");             -e only for file so doesnt work

我试图避免让opendir and grep找到dirname,因为它似乎有点矫枉过正。

更新的问题:
perl concat $ dir。在执行-e或-d检查之前“/ dirname”?

1 个答案:

答案 0 :(得分:8)

使用-d测试查看给定路径是否为目录。在这种情况下,-e也将返回true,因为它会测试是否存在某些文件系统对象。

要查看路径是指向普通文件(没有目录,没有符号链接,没有特殊文件),请使用-f

所以你想要:

-d "$dir/dirname" or next;