我怎么能扫描整个目录的内容,包括它的子目录中的内容,并找到在其中最新.pl
文件使用Perl?我怎样才能找到一个目录,并使用Perl所有的子目录最新的特等文件?
我想建立一个目录树中的所有.pl
文件的完整文件路径的有序阵列/列表。例如,如果我的基本目录是/home/users/cheeseconqueso/
,我想搜索该目录中的.pl
文件以及该路径内的任何子目录,然后按日期对.pl
文件进行排序。
最终的结果将是一个数组,@pl_paths
,其中$pl_paths[0]
会像/home/users/cheeseconqueso/maybe_not_newest_directory/surely_newest_file.pl
从这个结果,我要执行的文件,但我认为一旦我得到的排序后的数组想通了,执行文件在$pl_paths[0]
,不会成为问题。
上有这样我一直在试图修改以满足我的需要similar的问题,但现在我在这里的原因很明显。
我使用,以获得最新的文件名称只在一个目录中的代码是:
opendir(my $DH, $DIR) or die "Error opening $DIR: $!";
my %files = map { $_ => (stat("$DIR/$_"))[9] } grep(! /^\.\.?$/, readdir($DH));
closedir($DH);
my @sorted_files = sort { $files{$b} <=> $files{$a} } (keys %files);
print $sorted_files[0]."\n";
我想你误解的问题的东西....我正在寻找最新的文件,而不是最大的文件 – CheeseConQueso
@ CheeseConQueso oops!稍后会更新。虽然同样的想法适用! – hobbs
谢谢 - 现在测试 – CheeseConQueso