|
发表于 2003-12-3 10:59:48
|
显示全部楼层
@dirs = readdir(FILEHANDLE);
这个是最典型的,
@dots=grep { /^\./ && -f "/root/$_" } readdir(DIR);
这句话是矛盾的,没有结果,/^\./要求是 . 目录,而-f "/root/$_" 要求是普通文件,应该不会有输出结果的!
#!/usr/bin/perl -w
opendir (DIR,"/root") or die "could not open /root";
@dots=grep {/^[^\.]/ && -d "/root/$_" } readdir(DIR);
foreach (@dots) {
print "$_\n";
}
closedir DIR;
我修改以后的功能是:读取目录下的目录,并且去除..和.目录以及隐藏的目录,Unix系列上以.开始 |
|