[D]perl里怎么判断目录已经存在

hanyuwei0 2012-04-01 12:19:29
我知道可以用if(-e $folder)这样判断,不过我的$folder = "~/Document/aaa";

$folder = "~/Document/aaa";
if (-e $folder)
{
printf "exist";
}
else
{
printf "not exist";
}

这样是不行的,只有写全路径$folder = "Users/user/Document/aaa";才可以。
我的问题该怎么解决呢,我不想写全路径
---------------------
Double行动:
原帖分数:30
加分:30
...全文
3780 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuweichuan 2012-06-12
  • 打赏
  • 举报
回复
-e 只是文件是否存在
-d 是用来判断是否为目录的
-f 判断是否为文本文件的

举个例子:

if ( -f $path ) { print "$path is a file" }

else ( -d $path ) {print "$path is a dir"}
proorck6 2012-04-07
  • 打赏
  • 举报
回复
fibbery 2012-04-01
  • 打赏
  • 举报
回复
#use strict;
#use warnings;

$folder = "~/Document/aaa";

if (-e `echo $folder`)
{
printf "exist";
}
else
{
printf "not exist";
}
hanyuwei0 2012-04-01
  • 打赏
  • 举报
回复
楼上的方法也不错,多谢各位
ljhhh0123 2012-04-01
  • 打赏
  • 举报
回复
#!/usr/bin/perl

use Env;

$h = "$HOME/Document/aaa";

print "$h";
hanyuwei0 2012-04-01
  • 打赏
  • 举报
回复
这个方法不错,可以用
I_NBFA 2012-04-01
  • 打赏
  • 举报
回复
用glob扩展下,
if(-e (glob("~"))[0])

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧