I use HTML::Template all the time and it's really nice at making easy things simple.
I find it's really good for when you have non-programmers writing the HTML. You can tell them where to drop the
<tmpl var> tags and let them design the rest.
But I agree with
Ovid that it may not be the best tool for big complicated sites. While HTML::Template supports looping and if/else in the templates, it starts getting kinda hairy if things get too complicated. This isn't a problem for my application (yet ;)), so HTML::Template is perfect for me.
Good luck