in reply to Sort problem

A quick Schwartzian Transform does the trick. Your sample is not an array of arrays BTW. I guess you are tired.

@in = ( [qw(M N)], [qw(M N Q P O)], [qw(C B A)], [qw(U S)], [qw(V T)], [qw(C G F E D)], [qw(C G F H)], [qw(C G F H I)], [qw(C G F H J)], [qw(M K)], ); my @out = map{$_->[0]} sort{$a->[1] cmp $b->[1]} map{[$_, concat($_ +)]} @in; sub concat { my $ary = shift; $ary = join '', @$ary; $ary =~ s/\s//g; return $ary; } use Data::Dumper; # munge the output for compactness and to make it look nicer $Data::Dumper::Indent = 0; print map {s/\[/\n \[/g; $_} Dumper \@out; __DATA__ $VAR1 = [ ['C','B','A'], ['C','G','F','E','D'], ['C','G','F','H'], ['C','G','F','H','I'], ['C','G','F','H','J'], ['M','K'], ['M','N'], ['M','N','Q','P','O'], ['U','S'], ['V','T']];

cheers

tachyon

s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print