# array is in @sorted my @sorted = map {$_->[0] } sort {$a->[2] <=> $b->[2] or substr($a->[3],1) <=> substr($b->[3],1)} map {[$_,split)] } @unsorted; #### sort { $a->[2] <=> $b->[2] or $a->[3] cmp $b->[3] }