我注意到-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";
}
有什么不同?