in reply to Numerically sorting array items containing delimited strings

I think you may have to split the strings, but by using a modified Schwartzian Transform you can do it in a pretty efficient manner. Try something like this:

my @records = ('.66+5638+copper globe', '1.00+1396+the blocks', '.33+4055+hunt draw'); my @sorted = map { join '+', @$_ } sort { $a->[0] <=> $b->[0] } map { [ split /\+/ ] } @records;
--
<http://www.dave.org.uk>

"Perl makes the fun jobs fun
and the boring jobs bearable" - me