in reply to Select form Hell!

following the example from GrandFather, here is mine =)
use HTML::Template::Compiled; my $htc = HTML::Template::Compiled->new( scalarref => \"<select><%html_option cities %></select>", plugin => [qw(::HTML_Tags)], ); $htc->param( cities => [ 'Hamburg', # selected map { [$_, $_] } qw(Berlin Hamburg North_Adams)], ); print $htc->output;
Output:
<select><option value="Berlin" >Berlin</option> <option value="Hamburg" selected="selected">Hamburg</option> <option value="North_Adams" >North_Adams</option></select>
or even cleaner in my opinion:
my @cities = qw(Berlin Hamburg North_Adams); my $htc = HTML::Template::Compiled->new( scalarref => \"<select><%html_option cities %></select>", plugin => [qw(::HTML_Tags)], ); $htc->param( cities => [ 1, # selected map { [$_, $cities[$_]] } 0..$#cities], ); print $htc->output
Output:
<select><option value="0" >Berlin</option> <option value="1" selected="selected">Hamburg</option> <option value="2" >North_Adams</option></select>