http://qs1969.pair.com?node_id=349536

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

I have this complex search and analysis web interface for genetic sequence data. About 6 different tools have forms that submit to one large Mason script. Things like doing different types of searches, viewing alignments, adding to folders of saved data, etc. The mason page figures out what is going on and calls the appropriate object and runs that code. But there is also a lot of if statements, session altering/updating, caching etc.

This page is rather nasty, despite my efforts at slimming it down. Is there a pattern that is useful for this type of situation? What do you do in your web apps? My goal is an easily maintainable, minimally Mason piece of code.