http://www.perlmonks.org?node_id=232348


in reply to array bug?

This is nothing to do with arrays but how sort processes it's arguments, which is lexically (as opposed to numerically as you were expecting). Here's the relevant paragraph from the sort docs
sort SUBNAME LIST sort BLOCK LIST sort LIST
Sorts the LIST and returns the sorted list value. If SUBNAME or BLOCK is omitted, "sort"s in stan- dard string comparison order. If SUBNAME is spec- ified, it gives the name of a subroutine that returns an integer less than, equal to, or greater than "0", depending on how the elements of the list are to be ordered. (The "<=>" and "cmp" operators are extremely useful in such routines.) SUBNAME may be a scalar variable name (unsub- scripted), in which case the value provides the name of (or a reference to) the actual subroutine to use. In place of a SUBNAME, you can provide a BLOCK as an anonymous, in-line sort subroutine.

HTH

_________
broquaint