... beginning same as before ... my $states = $dbh->selectall_arrayref( ... ); my $tmpl = HTML::Template->new(filehandle => \*DATA); $tmpl->param(states => scrolling_list( -name => 'states', -values => [ map $_->{id}, @$states ], -size => 12, -multiple => 'why not', -labels => { map {$_->{id} => $_->{name}} @$states }, ), ); print header,$tmpl->output; __DATA__