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.
What does that mean ? I dont know how separating code and html will be dangerous.
I have successfully used templates for my smaller scripts. There has been times when I had to dump a concise text report or a long html report. I could do that by just switching the templates, without the core part of the script having to bother what kind of report we are going to generate. I thought templates are a boon when doing that. There is also an article in The Perl Review Separating Code, Presentation, and Configuration that deals with this in detail.