Well, as graff says, if ti works for you why not. Sure CGI generated HTML isn't so clever, not nowadays anyway. But of course CGI.pm has been around for a long time!!
in reply to html template in a perl script
The idea of using HTML::Template to separate the Perl and the HTML makes sense. Programmers work on the Perl, designers work on the HTML. If you are the only one working on what are Perl scripts with a 1:1 Perl/HTML doc relationship then fine.
Although I have used this trick for very simple scripts I find it a dangerous concept for general purpose use at it 're-integrates' the Perl and HTML, albeit in a more maintainable form than using CGI.pm or just using HERE documents.