Ich nutze popup_menu() von CGI zum erzeugen eines <select>-Tags.
Folgendes Problem:
Ich möchte ein Popup-Menü erzeugen, welches Altergruppen anzeigt.
Also sowas wie:
<select name="alter">
<option value="16">16 Jahre</option>
<option value="17">17 Jahre</option>
<option value="18">18 Jahre</option>
<option value="19">19 Jahre</option>
... usw
</select>
Das mache ich dann so:
my $cgi = new CGI;
my %fields = ();
$fields{$_} = $_ . ' Jahre' for 14..60;
print $cgi->popup_menu('alter', \%fields);
Das doofe ist, dass der Hash total unsortiert herauskommt (was ja normal bei Perl ist).
Wie könnte man das nun aufsteigend sortieren?
Bei der sort()-FUnktion bekomme ich ja leider nur ein Array und müsste dann auf "Jahre" verzichten da ich dies nicht im value-Attribut haben will!
Die einzige Möglichkeit sehe ich momentan nur noch darin, das popup_menu() später durch einen regex zu jagen der dann immer "</o" durch " Jahre</o" ersetzt.