我的主目录有很多子文件夹,每个子文件夹包含一千多个文件。我需要获取扩展名为.xml
,aux
或.tex
的所有文件的名称,并将其存储在数组中。
use File::Find::Rule;
$path_dir = "d:/testing/Projects/";
my @allfiles = File::Find::Rule->file()->
name( "*.xml", "*.aux", "*.tex" )->
in( $path_dir );
print join "\n", @allfiles;
system 'pause';
上面的代码工作正常但运行时间超过一分钟。有没有办法更快地做到这一点?
答案 0 :(得分:1)
尝试替换此行:
name( "*.xml", "*.aux", "*.tex" )->
用这个:
name( qr/\.(xml|aux|tex)$/ )->