use strict; use warnings; use HTML::Template; use CGI qw(:standard); my @color = qw(red green blue black purple orange); my %valid = map {$_ => 1} @color; my $tmpl = HTML::Template->new(filehandle => *DATA); my $color = param('color'); my $select = popup_menu( -name => 'color', -values => [@color], -default => $color, ); $tmpl->param(error => 1) unless $valid{$color}; $tmpl->param( colors => $select, color => $color, ); print header, $tmpl->output; __DATA__

Pick a color:


You picked Invalid choice, ""