変更日順にソートされたファイルのリストを取得しようとしています。サンプルプログラムをSort Directory and list files based on date and timeに変更して実行しようとしました。Perlの変更日でソートされたファイルのリストを取得する
sub get_sorted_files {
my $path = shift;
opendir my($dir), $path or die "can't opendir $path: $!";
my %hash = map {$_ => (stat($_))[9]}
map { "$dir$_" }
grep { m/.*/i }
readdir $dir;
closedir $dir;
return %hash;
}
my %files = get_sorted_files(".");
foreach my $keys (sort{$files{$a} <=> $files{$b}} keys %files) {
print "$keys\t", scalar localtime($files{$keys}), "\n";
}
私はStrawberry Perlバージョン5.12.1.0を使用して、私のWindows XP 32ビットマシン上でこれを実行しています。
Windows上のディレクトリリストは次のとおりです。
出力は次のようになります。
出力は私にはあまり意味がありません。このコードで何がうまくいかず、foreach
ループがファイルのリストをどのようにソートするのですか?
はあなたに暴徒をありがとう...コンピュータ/ OSごとYMMVので、かなりハイエンドのLinuxブレードシステム上にあることを
注意!私の悪いことは早くそれをキャッチできませんでした! – rkg