我有点困惑File :: Find文档…等于$ find my_dir -maxdepth 2 -name“* .txt”?
解决方法
就个人而言,我更喜欢
File::Find::Rule
,因为这不需要你创建回调例程。
use strict; use Data::Dumper; use File::Find::Rule; my $dir = shift; my $level = shift // 2; my @files = File::Find::Rule->file() ->name("*.txt") ->maxdepth($level) ->in($dir); print Dumper(\@files);
或者创建一个迭代器:
my $ffr_obj = File::Find::Rule->file() ->name("*.txt") ->maxdepth($level) ->start($dir); while (my $file = $ffr_obj->match()) { print "$file\n" }