【发布时间】:2014-05-10 21:01:53
【问题描述】:
在 Windows 上测试空格字符串目录时 perl 返回 true 有什么解释吗? 在 Windows7 上运行:
perl -e "print qq{found\n} if -d qq{ }"
你会得到输出:found
但相同的 perl 代码在 Linux 上返回 false。
在 Windows 上的 perl 5.8 和草莓 perl 5.18 上测试
这是一个错误还是有非常规的推理?
【问题讨论】:
-
perl -wle"print for stat(' ')"显示什么? -
@ysth,
16832(040700) 用于第三个字段 ($mode),0用于其他所有字段。 -
无法创建具有该名称的文件(“没有这样的文件或目录”)。
-
我认为这是一个错误。我不认为这是新的。我似乎记得几年前遇到过这个。
-
常用的做法是使用“if -d $dirname”来测试目录是否存在。但不应该用于 Windows,除非此错误已修复或添加额外的测试以防止空格字符串。为什么这个bug这么久都没有修复?