Your skill will accomplish what the force of many cannot |
|
PerlMonks |
Re^5: Pearls (not really) of Perl programmingby htoug (Deacon) |
on Dec 01, 2004 at 18:49 UTC ( [id://411533]=note: print w/replies, xml ) | Need Help?? |
The comparison function for sort must not just return 'true' and 'false'. It must return '-1', '0' and '+1' for comparing 'Less Than', 'Equal To' and 'Greater Than', just like the two standard comparison operators 'cmp' and '<=>' (for stringwise and numeric comparison respectively). Just using 'true' (ie non-zero, probably 1) and false (ie 0 or '') will lead to confusion. If f(a, b) is 'false' then f(b, a) must also be false because a 'Equals' b - for whatever value of 'Equals' this sorting choses to use. You have to be consistent however you chose to do it.
In Section
Meditations
|
|