Most of the time, embedding HTML in your code, be it in strings or
CGI function calls, is a mistake, unless what you're going to write is a really short script.
perrin's
templating system comparison is an excellent place to start on your module choice. Personally, I prefer the shooting star,
Template Toolkit II, but you might also just use (f.ex)
Text::Template if you don't want to learn a dedicated templating language.
Makeshifts last the longest.