in reply to Re^2: Multiple Sort on selected column
in thread Multiple Sort on selected column
If you want to do auto-detection, you'd be better off using the Conditional Operator using looks_like_number from Scalar::Util:
sub cmp_by { use Scalar::Util 'looks_like_number'; my $result = 0; for my $term (@_) { $result ||= looks_like_number($a) ? $a->{$term} <=> $b->{$term} : $a->{$term} cmp $b->{$term}; } return $result; }
#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.
|
|---|