$out .= sprintf '<colgroup span=%d>', 3 * @{$_} for @colmap;
my $huerow = $colmap[0][0]; # first {$_} map { @{$_} } @colmap;
for my $h (grep { $huerow->[$_] } 0 .. $#{$huerow}) {
$out .= sprintf '<colgroup span=%d>', 3 * @{$_} for @colmap;
my $huerow = $colmap[0][0]; # first {$_} map { @{$_} } @colmap;
for my $h (grep { $huerow->[$_] } 0 .. $#{$huerow}) {
$out .= '<tr>' unless $col++ % $colbreak;
$out .= colcell($num, ($greymap{$num}) x 3);
}
$out .= '<tr>' unless $col++ % $colbreak;
$out .= colcell($num, ($greymap{$num}) x 3);
}
print coltable_hsv(4,
sub {(0, 139, 205, 255)[$_[0]]},
[map { ($_ + 2 + ($_>0)) * 255/11 } 0 .. 7],
);
print coltable_hsv(4,
sub {(0, 139, 205, 255)[$_[0]]},
[map { ($_ + 2 + ($_>0)) * 255/11 } 0 .. 7],
);
print coltable_hsv(6,
sub { $_[0] && $_[0]*40 + 55 },
[ map { $_ * 10 + 8 } 0 .. 23 ],
);
print coltable_hsv(6,
sub { $_[0] && $_[0]*40 + 55 },
[ map { $_ * 10 + 8 } 0 .. 23 ],
);