use CGI qw(:standard); my %form; foreach (param) { my @args = param($_); if (@args == 1) { $form{$_} = $args[0]; } else { $form{$_} = [@args]; } }