Re: HTML::Template
I used this for a script I wrote, and later regretted it.
1) There was a report that HTML::Template has memory leaks. This might not be a big problem for a CGI script, but could be serious if you're using mod_perl. I've have some more info on this if you're interested, although not enough information to fix the problem. But that was several months ago. Maybe the problem has been fixed.
2) Doing complex stuff like dynamic nested tables was tricky. As I recall, a two-level nested table requires setting up an array of hashes of arrays of hashes.
I agree that separating the HTML from the "guts" of the script is good methodology. I'm just not sure that HTML::Template is the best approach.