in reply to Best method to order a hash of arrays
I'd use an array of hashes.
use List::Util qw( first ); my @user_types = ( { name => 'member', numb => '037', }, { name => 'public', numb => '165', }, ); my $selected = first { $_->{name} eq $cgi->param( 'foo' ) } @user_type +s; $selected ||= $user_types[0]; # in case nothing is selected my $selected_numb = $selected->{numb};
If you don't want to use List::Util::first, you can use grep instead (the list is short). It's easy this way to add any info you want to each element (e.g., a 'key' you put in the HTML form plus a human friendly name that you show to the user). Inside your script you can tie as much data as you want to each element.
|
|---|