in reply to Sorting an array

By default, sort performs a string sort. If you want it to do a numeric sort, you have to do something like this.

popup_menu(-name=>"month_array", -values=>[sort { $a <=> $b } %month_array], -labels=>\%month_array, -default=>$mon, -class=>"formfield")

Since the keys are the numbers 1-12, you could also try -values=>[1..12] and forget the sort.

--- print map { my ($m)=1<<hex($_)&11?' ':''; $m.=substr('AHJPacehklnorstu',hex($_),1) } split //,'2fde0abe76c36c914586c';