use strict; use warnings; use File::Find; use File::stat; my @results; find(\&search, "c:/test"); sub search { if ($_ =~ m/ACH/ ) { push @ {$results[0]}, $_; push @ {$results[1]}, stat($_)->mtime; } } my @temp = reverse sort { $a->[0] cmp $a->[0]} @results; foreach my $x (@temp){ #print $results . "\n"; print $x->[0] . "\t" . $x->1 . "\n"; }