in reply to Numerically sorting array items containing delimited strings

@records = (".66+5638+copper globe", "1.00+1396+the blocks", ".33+4055+hunt draw");

If you just convert your data to:

@records = ("0.66+5638+copper globe", "1.00+1396+the blocks", "0.33+4055+hunt draw");
then a reversed sort will do just what you want:
s/^\./0./ for @records; @records= sort {$b cmp $a} @records;
is one way to do that.

        - tye (but my friends call me "Tye")