http://www.chinaunix.net 作者:路小佳 本文介绍遍历文件夹方法:使用File::Find,先看代码: use File::Find
#!/usr/bin/perl -W # File: find.pl # License: GPL-2
use strict; use warnings; use File::Find;
my ($size, $dircnt, $filecnt) = (0, 0, 0);
sub process { my $file = $File::Find::name; #print $file, "\n"; if (-d $file) { $dircnt++; } else { $filecnt++; $size += -s $file; } }
find(\&process, '.'); print "$filecnt files, $dircnt directory. $size bytes.\n";
下面是对我的硬盘/dev/hda6的测试结果:
26881 files, 1603 directory. 9052479946 bytes.
real 0m9.140s user 0m3.124s sys 0m5.811s |