in reply to Best method to order a hash of arrays

To start with. I do not know where you get this list from, nor in what form it is stored in the first place:
037 => 'member' 165 => 'public' 022 => 'staff' 683 => 'babe' 001 => 'old fart'

Is it a hash or an array of hashes? an array of arrays?

In either case, you have the original order handy, right? I'd use that for the <select>, passing in the user name as label and the index into the original list of tuples as value. If you retrieve the param(), that value serves you as index into the original list.

--shmem

_($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}