in reply to HTML::Template, CGI:Application and design methodologies

I would strongly consider templatize-ing the entire page, top, left, and main. One of the reasons you template in the first place is to separate your program logic from your design, and to consolidate your designs for easy updating and re-use. Assigning separate "modes" to your top and left menu bars sounds awfully complicated to me. If the top and left sections are static, why not just TMPL_INCLUDE it, and if there are small changes (along the lines of "you are here" site navigation and such) that stuff's a piece of cake by throwing in some TMPL_VAR's or by judicious use of TMPL_IF in your template. If the top and side REALLY change in bizarre and complex ways for each mode, that's a clue that you should be using different templates. No one says you have to use only one template for every page in your site. :-) Trying to manage different parts of the same template through "modes" sounds like a recipe for spaghetti-code to me.

Gary Blackburn
Trained Killer