in reply to HTML with CGI.pm
CGI.pm can make some aspects producing HTML easier. I
would suggest that you set $XHTML = 1; so that you get
xhtml compliant html out. I would also suggest using
CGI::Pretty for more readable markup.
I have started to use HTML::Template to help abstract the
program from the presentation. This way you can make one
template and reuse it and someone else can do your page
creation. Also using HTML::Template you can avoid CGI.pm
for most of your html markup and you can control exactly
how you format and indent the code.