print join ',', @arr[ @vals{ sort { $a <=> $b } keys %vals } ]; #### my @sorted_keys = sort { $a <=> $b } keys %vals; print join ',', @arr[ @vals{ @sorted_keys } ];