"I do not usually like to mix ... But this should at least be on the right track."
I don't like to mix hardcoded HTML tags and CGI.pm methods
either, but i like what your code does. :) Here is another
version that only uses CGI.pm:
#!/usr/bin/perl -T
use strict;
use warnings;
use CGI::Pretty qw(:standard);
my @hour = qw(7am-8am 8am-9am 9am-10am 10am-11am);
my @day = qw(
Monday Tuesday Wednesday Thursday
Friday Saturday Sunday
);
print header,
start_html,
start_form,
table(
Tr(th[' ',@hour]),
map {
my $day = $_;
Tr(
th({align=>'right'},$_),
td[map checkbox("_$day",0,$_,''), @hour],
)
} @day
),
submit,
end_form,
h2('Values'),
ul(
map {
li(substr($_,1,length $_)) . ol(li[param($_)])
} grep {/^_/} param(),
),
end_html,
;
By appending an underscore to each of the names of the
check boxes, i can extract them out quite easily. This does,
however, complicate things when displaying those names
(hence the
substr call). Hope this helps. :)
jeffa
L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)