使用-d检查dir是否存在有时失败

rod*_*dee -1 perl

-d $Dir or make_path( $Dir) or die "Can't mkdir $Dir: $!";
Run Code Online (Sandbox Code Playgroud)

我有这行代码,但脚本失败的时间不到1%:

mkdir <$Dir path>: File exists at script.pl line 234
Run Code Online (Sandbox Code Playgroud)

我使用"-d"和"或"的方式有什么问题?

Pol*_*k-Z 5

听起来您正在尝试创建一个与现有(普通)文件同名的目录.-d由于目标不是目录,因此返回false.然后make_path死掉,因为它无法创建请求的目录.