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


in reply to Comparing spaceships (cmp and <=> as options)

And now to something completely different =)

sort allows providing a function name

sort SUBNAME LIST So using an ad-hoc package seems like a short way to solve this :)

DB<138> sub sort::hours { $a->[0] <=> $b->[0] } DB<139> $sort = 'hours'; => "hours" DB<140> *sort::this=\&{"sort::$sort"} => *sort::this DB<141> sort sort::this @records => ( [5, "foo123", "world domination"], [7, "bar666", "have a beer"], [10, "xyz232", "secret project"], )

I don't like the glob-manipulation in line 140, but it could be used to eval arbitrary complex sort routines.

Maybe others have more elegant ideas! =)

HTH!

Cheers Rolf

( addicted to the Perl Programming Language)