@array_of_arrays=(@array1A, @array1B, @array2A,@array2B…@arrayNA,@arrayNB); #### my @a1A = qw/a b c d/; my @a1B = qw/p z e t i u/; my @a2A = qw/F l i n t s t o n e/; my @a2B = qw/f o o/; my @AoA = \(@a1A, @a1B, @a2A, @a2B); my @sorted = sort { @$a <=> @$b } @AoA; #### my %HoA = ( "a1A" => \@a1, "a1B" => \@a1B, "a2A" => \@a2A, "a2B" => \@a2B ) #### my @sorted = sort { substr($a, 0, 2) cmp substr($b, 0, 2) || @{ $HoA{$a} } <=> @{ $HoA{$b} } } keys %HoA; # @sorted is (a1A, a1B, a2B, a2A) #### my @sorted = sort { substr($a, 2, 1) cmp substr($b, 2, 1) } keys %HoA; # sorted is e.g. (a2A, a1A, a1B, a2B) #### my @sorted = sort { substr($a, 2, 1) cmp substr($b, 2, 1) || substr($a, 1, 1) <=> substr($b, 1, 1) } keys %HoA; # sorted is (a1A, a2A, a1B, a2B)