Tihiroの頭を休めるIT教室

少しだけ頭使って後は根性

Perlで更新日時(秒単位)の昇順にファイル名を取得する

概要

たまにはPerlも使います。

環境

やってみる

# テキストファイルを取得。
sub getSortedFiles($) {
    my $dir = shift;
    opendir(DIR, $dir);
    my @files = grep(/$\.txt/, grep(!/^\./, readdir(DIR)));
    closedir(DIR);
    my %filesHash = map({$_ => (stat "$dir$_")[9]} @files);
    my @sortedFiles = sort({$filesHash{$a} cmp $filesHash{$b}} @files);
    return @sortedFiles;
}

-> ファイル更新日付の若い順にテキストファイル名を取得できました。

まとめ

stat超便利。