Barring templating, why not use more CGI.pm methods? Hand coding all the HTML into your code has got to be painful. Then for commonly used elements, like your input fields table, you can write a real short routine that puts in the next table cell using variables for the, um, variable bits. :)
If you find yourself typing the same thing more than twice or using cut and paste more than twice, it's time to abstract the process and give it a name. Your typing fingers will thank you and your code will be clearer.