sub create_cat_list{ my ($type,$dbh)=@_; my $cat=$dbh->prepare("select ${type}_cat,${type}_id from ${type}_cat order by ${type}_cat"); $cat->execute(); my @list; my %hash; while(my ($catval,$id)=$cat->fetchrow_array()){ push @list, $catval; $hash{$id} = $catval; } $cat->finish(); return [ \%hash,\@list ]; } ## SNIP my $l1=create_cat_list('l1',$dbh); $output.=$q->popup_menu(-name=>'l1_cat',-values=>$l1->[1],-labels=>$l1->[0]);