in reply to sort my arrayref
From the example data, you might be better off with a hash.
It's much, much easier to manipulate (oops => 0, happy => 2, word => 4)
than crazy array accessing. On top of that, it's clear you
don't care about the original order of the array because
you're sorting it. The only reason you might not be able
to use an array is if you want to have duplicate entries
(like [happy, 2], [happy, 2], or
[oops, 0], [happy, 0], [happy, 2]. The second
one doesn't have any true duplicates, but it's constructed
in a way that you can't use either the left or the right
element for the hash keys. But I doubt this is the case.
Determine which value you will more commonly use for access
(probably the number) and use it for hash keys.