我注意到-d标志的奇怪行为来检查文件是否是目录以及目录是否存在。~/my_dir用作我的路径时,它的行为有所不同。
以下代码将返回 false,即使该目录my_dir存在,但如果我将其更改为完整路径,如/home/ricky/my_dir,则该if语句将返回 true。
#!/usr/bin/perl -w
#
use strict;
if ( -d "~/my_dir") {
print "Found \n";
}
else {
print "Not found \n";
}
有什么不同?