in reply to multiple drop-down menus

You don't specify how the %FORM hash is filled, so it is quite hard to answer you.

I will assume you are using CGI.pm, if you are not, then you should! From perldoc CGI:

FETCHING THE VALUE OR VALUES OF A SINGLE NAMED PARAMETER:

  @values = $query->param('foo');

-or-

  $value = $query->param('foo');

Pass the param() method a single argument to fetch the value of the named parameter. If the parameter is multivalued (e.g. from multiple selections in a scrolling list), you can ask to receive an array. Otherwise the method will return a single value.

This seems to suggest that you should use the first form, @values = $query->param('foo'); to get the values. You can then use the values as the keys to a hash and test on the existence of the key:

#when you create the FORM hash my @genbank_info= $query->param('genbank_info'); my %genbank_info= map { $_ => 1 } @genbank_info; # create a hash selec +ted_value => 1 $FORM{genbank_info}= \%genbank_info; ... # later... if ($FORM{genbank_info}->{gi_number}) { $gi_number = "1234"; }