in reply to
html template in a perl script
Sounds like a reasonable way to organize things to me, as long as your CGI scripts are quite simple. I wouldn't use that model myself, because I use lots of includes in my templates to provide a consistent look and feel to the application. But if your scripts only needs one template, then the DATA method seems like a good option...
It will also be slightly quicker than an external template, since perl will only need to access one file, instead of opening two.