my @low_values_prd_order_allowed = (); my %meanings_prd_order_allowed = (); my %titles_prd_order_allowed = (); my $stmt = "SELECT value, meaning, title FROM OPTIONS "; my $sth = $dbh->prepare($stmt); $sth->execute(); while ( ( $value, $meaning, $title ) = $sth->fetchrow_array() ) { push( @low_values_prd_order_allowed, $value ); $meanings_prd_order_allowed{$value} = $meaning; $titles_prd_order_allowed{$value} = ( $value =>{'title'=> $title} ); } print $q->label( { -for => 'idprd_order_allowed' }, "ORDER ALLOWED" ); print $q->popup_menu( -id => 'idprd_order_allowed', -name => 'prd_order_allowed', -override => 1, -onChange => "changeInCore=true", -default => $prd_order_allowed, -value => [@low_values_prd_order_allowed], -labels => \%meanings_prd_order_allowed, -attributes => \%titles_prd_order_allowed );