Keep everything in one file
There is no reason a template has to be in an external file. With HTML::Template, you can embed your template into the __DATA__ section, and pass DATA as the template filehandle. I do this often, and it works well. I'm sure other template modules have similar methods available.
I tend to think of a template somewhat like a Perl module. Usually, it's cleaner and better to put these things in separate files. Sometimes, though, embedding them into the file where they're used is far simpler, while still retaining much of the benefit of using modules/templates in the first place.