Macrobiological Monks,

I have a list of user type codes, like this:

037 => 'member' 165 => 'public' 022 => 'staff' 683 => 'babe' 001 => 'old fart'
that are to be dynamically integrated into a drop-down html SELECT menu in an html form - but in a predetermined order, for example, in the order listed above. Neither alphabetical by label nor numerical by code. The user will select their option and submit the form for storage.

I imagine two options:

%user_types =( 037 => [ 'member', '1' ], 165 => [ 'public', '2' ], 022 => [ 'staff', '3' ], 683 => [ 'babe', '4' ], 001 => [ 'old fart', '5' ] );
Easy to look up the label of the stored code, but to sort for the original drop-down output, I ahve to sort by the value of $user_types{$code}[1]
OR
%user_types =( 1 => [ 'member', '037' ], 2 => [ 'public', '165' ], 3 => [ 'staff', '022' ], 4 => [ 'babe', '683' ], 5 => [ 'old fart', '001' ] );
and simply sort by the keys for output - simpler sort, BUT, when later I want to find the label of the option that was selected in the submitted form, it's more complicated.

Any better ideas?

Thanks




Forget that fear of gravity,
Get a little savagery in your life.

In reply to Best method to order a hash of arrays by punch_card_don

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.