LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4636|回复: 3

怎么用readdir函数?

[复制链接]
发表于 2003-12-2 23:41:31 | 显示全部楼层 |阅读模式
#!/usr/bin/perl -w
opendir (DIR,"/root") or dir "could not open /root";
@dots=grep { /^\./ && -f "/root/$_" } readdir(DIR);
#print "@dots\n";
closedir DIR;

请修改这个脚本。
发表于 2003-12-3 02:37:52 | 显示全部楼层
还没学到readdir呢~~,不过
dir "could not open /root"中的dir应该是die吧~!~
发表于 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系列上以.开始
 楼主| 发表于 2003-12-3 13:28:47 | 显示全部楼层
谢谢~~~我咋怎么没注意呢!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表