use Benchmark; opendir(DIR, ".") or die "Acck: $!"; my @files = readdir DIR; closedir DIR; my $num_files = @files; print "$num_files\n"; timethese(-4, { 'chad' => \&chad, 'swartz' => \&st,}); sub chad { my @list = sort{ (-M $b) <=> (-M $a) } @files; } sub st { my @list = map { $_->[0] } sort { $b->[1] <=> $a->[1] } map { [$_, -M] } @files; }