my %restaurants=&queryrestaurants; my @restaurantvalues=keys(%restaurants); print start_multipart_form(); print center(scrolling_list(-name=>'restauranttitle',-values=>[@restaurantvalues],-default=>undef,size=>14,-multiple=>'false',-labels=>\%restaurants),submit(-name=>'job',-value=>'edit'),submit(-name=>'job',-value=>'new')); print endform; sub queryrestaurants { my (%restaurants,$restaurant,$address1,$address2,$zipcode,$phonenumber,$record); use DBI; my $dbh = DBI->connect("DBI:mysql:dbname:$sqlserver:3306","login","passwd"); my $sql_statement = "SELECT \* FROM location order by restaurant"; my $sth = $dbh->prepare($sql_statement); $sth->execute() or die "Can't execute SQL statement : $dbh->errstr"; $sth->bind_columns(undef, \$restaurant,\$address1,\$address2,\$zipcode,\$phonenumber,\$record); my $row; while ($row = $sth->fetchrow_arrayref) { $restaurants{$row->[5]}=$row->[0] . " " . $row->[1] . " \/ " . $row->[3]; } $sth->finish; $dbh->disconnect; return %restaurants; } ####