my %label = (
one => 'foo',
two => 'bar',
three => 'baz',
);
####
print checkbox_group(
-name => 'checkbox',
-values => [keys %label],
-labels => \%label,
);
####
# create an array whose keys all have values 'no'
my %checkbox = map { $_ => 'no' } keys %label;
# update each found key's value to 'yes'
$checkbox{$_} = 'yes' for param('checkbox');
####
#!/usr/bin/perl -T
use strict;
use warnings;
use CGI qw(:standard);
my %label = (
one => 'foo',
two => 'bar',
three => 'baz',
);
print header,
start_html('checkbox test'),
start_form,
checkbox_group(
-name => 'checkbox',
-values => [keys %label],
-labels => \%label,
),
submit('go'),
end_form,
;
if (param('go')) {
my %checkbox = map { $_ => 'no' } keys %label;
$checkbox{$_} = 'yes' for param('checkbox');
print table({border=>1},
Tr(th[qw(Var Val)]),
map Tr(td[$_,$checkbox{$_}]), keys %checkbox
);
}