my %filenames =(); foreach( ) { $filenames{$_} = -M $_; } #### my @sorted_keys = sort { $filenames{$a} <=> $filenames{$b}} keys %filenames; #### foreach my $filename ( @filenames ) { # create an ANONYMOUS array (basically a reference to an array) my $record = [ $filename, -M $filename ]; push @filesanddates, $record; }