use IO::Dir; sub files_by_mtime { my $d = IO::Dir->new($_[0]) or die "ack: $!"; return map { $_->[0] } sort { $a->[1] <=> $b->[1] } map { [ $_, (stat "$_[0]/$_")[9] ] } grep { /^post.*\../ } $d->read; }