使用File::Find::Rule模块来遍历文件系统

1、第一种方式,不管系统资源,如果文件多的话,会是一个相当大的数组

   内存可能耗尽。

#!/usr/bin/perl -w
use strict;
use File::Find::Rule;

my @files = File::Find::Rule->file()->name("*.pl")->in('/');
foreach my $file (@files){
        print "$file\n";
}


2、第二种方式,使用迭代特性

#!/usr/bin/perl -w
use strict;
use File::Find::Rule;

my $files = File::Find::Rule->file()->name("*.sh")->start('/');
my $sum=0;
while(my $file = $files->match) {

        print $file."\n";
        $sum++
}
print "Total:$sum files";


你可能感兴趣的:(资源,start,Files)