I would consider
HTML::FromText first. If it
doesn't solve your problem fully, then try
HTML::Template. The biggest problem i see with
HTML::FromText is that is does not generate XHTML, but you
might be able to get away with filtering the output
through
tidy.
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)