继续上一篇,谈到目录文件的遍历问题一直都是老大难题,用glob方便但有不足,幸好我终于在上一篇把对readdir的误会消除后找到了完美的解决方案.
&file("d://my game");
sub file()
{
opendir(DIR, $_[0]);
foreach my $a (readdir(DIR))
{
if ('.' eq $a || '..' eq $a) { next; } #'.和..是readdir默认的两个文件夹,当遍历子目录及文件时应将这两个文件夹排除
my $full_path = "$_[0]//$a";
print $full_path."/n";
if (-d $full_path)
{
file($full_path);
}
}
closedir(DIR);
}
以上是解决代码,这样所有的文件及文件夹都可以遍历了,我的心也掉了下来啊0_0
当然,关于glob的问题我还是会继续深入,有兴趣的可以看一下perl的文件操作模块,那提供了很方便的文件遍历方法.