in reply to Numeric Sort for Stringified Value (How to Avoid Warning)

IMO, the only thing wrong with the regexp approach used in some responses was forgetting to include the optional \.*\d* in the number being read in for sorting (I also made some style and performance adjustments to the sort algorithm, i.e. the use of a subroutine and an orcish manoeuvre)
perl -w -MData::Dumper -e ' @old = ( "10.5 AA", "9 AC", "2 BB"); %orcish = (); @new = sort {($orcish{$b} ||= ForceFloat($b)) <=> ($orcish{$a} ||= For +ceFloat($a))} @old; print Dumper \@new; sub ForceFloat{ return $_[0] =~ /(\d+\.*\d*)/ ? $1 : 0.0; }'

-M

Free your mind