use strict; use warnings; use Data::Dumper; use HTML::Template; use Geography::States; use CGI qw(:standard); my @state; my $usa = Geography::States->new('USA'); push @state,$_ for $usa->state; my $state = [ map {{ id => $_->[0], name => $_->[1] }} sort { $a->[1] cmp $b->[1] } @state ]; my $tmpl = HTML::Template->new(filehandle => \*DATA); $tmpl->param(states => scrolling_list( -name => 'states', -values => [ map $_->{id}, @$state ], -size => 12, -multiple => 'why not', -labels => { map {$_->{id} => $_->{name}} @$state }, ), ); print header,$tmpl->output; __DATA__

####