in reply to Ways to Seperate Code from Content
The first thing to do is to become familiar with building modules. Put as much thought as you can into the design of your modules and try to keep all your business logic in them. The only perl code in your CGI should be form processing code. Let the modules do the heavy lifting. It's worked for me. Hope this isn't too high level or unhelpful.
I like chicken.