my @sorted = map { $_->[0] } sort { $a->[1] cmp $b->[1]; } ## magicpipe map { [ $_, expensive($_) } @unsorted; sub expensive { ... my $magicpipe = join '|', $dir_and_file_name, $date_time_mod, $file_size, $encpd, $deleted_file, $has_iden ; return [ $original, lc($magicpipe) ]; }