#! perl -slw use strict; my @a1 = reverse 1 .. 10; my @a2 = 'a' .. 'j'; my @a3 = 'A' .. 'J'; ## sort the array but record the ordered indexes. my @order = sort{ $a1[ $a ] <=> $a1[ $b ] } @0 .. $#a1; @a1 = @a1[ @order ]; @a2 = @a2[ @order ]; @a3 = @a3[ @order ]; print "@$_" for \( @a1, @a2, @a3 ); __END__ P:\test>junk3 1 2 3 4 5 6 7 8 9 10 j i h g f e d c b a J I H G F E D C B A