opendir(DIRH, '.') or die "cant open $!"; my %file = map { $_ => (stat($_))[10]} grep !/^\.\.?/ && /.*pm$/, readdir DIRH; closedir DIRH; for (reverse sort { $file{$a} cmp $file{$b} } keys %file) { print "value : $_ , $file{$_} \n"; }