http://www.perlmonks.org?node_id=152335

cayenne has asked for the wisdom of the Perl Monks concerning the following question:

I have a CGI script in which I would like to seperate the code from the content, but whenever I've tried to think the best way to do this I only think of things that would make it more convoluted rather than less. But I'm appreciating the ways I have kept my code clean and would like to deal with this before the thing gets bigger.

The main reason that it seems difficult to do is that the pattern of when perl needs to do things isn't entirely regular. There's a part of the page where there are a number of different elements that may or may not be there, and there are a few places where I need to send it through a filter or two (not everything that gets output is created by my script; some of it is a mix of that and stuff that gets read in already as HTML.) Also, I want to be using CGI.pm methods rather than directly working with HTML.

I know that there are modules that do similar things but don't quite meet my requirements. How do other people organize such things?