in reply to Perl and HTML
The other comments here are totally correct in stating there are lots of templating modules that do the job, however if you wanted to "roll your own" there is nothing preventing you creating your own subroutine/methods to do exactly as you stated.
Whilst not the professional way, there is no reason why you cannot create your own methods such as output_header and output_footer in a .pm file and then simply use or require that module in your other files.
Whichever way you do it, good luck!
A Monk aims to give answers to those who have none, and to learn from those who know more.