$html .= $q->table(
{ -bgcolor => '#ffffff',
-border => 1 },
$q->caption('Status Summary'),
# beware beautiful nested maps ahead
$q->Tr( [ map { my $k = $_;
$q->td( [ $k,
map { $data->{$k}{$_} }
sort keys %{ $data->{$k} }
]
)
} sort keys %{ $data }
]
)
);
####
$html .= $q->table(
{ -bgcolor => '#ffffff',
-border => 1 },
$q->caption('Status Summary'),
# beware beautiful nested maps ahead
map { my $k = $_;
$q->Tr( $q->td( $k ),
map { $q->td( $data->{$k}{$_} eq 'bad'
? { -bgcolor => '#ff0000' }
: { -bgcolor => '#ffffff' },
$data->{$k}{$_} )
} sort keys %{ $data->{$k} }
)
} sort keys %{ $data }
);