There are a couple of issues here, primarily alternating between application design and display formatting.

With regard to your direct question regarding HTML templates, there is absolutely no reason why multiple templates cannot be defined and called depending upon the "state" of your CGI application. If you are trying to incorporate all of your application output within a single template with multiple TMPL_IF and TMP_ELSE (or even more succinctly using HTML::Template::Expr), you will rapidly find your available display options either at best greatly convoluted or at worst severely curtailed.

The more general issue which you may want to consider is your application design. While there is nothing wrong with incorporating all aspects of your CGI interface into a single script, the question that is raised in my mind is as to how you are incorporating these interfaces together - Is your application littered with if-elsif-else conditionals? In which case, more powerful stateful CGI frameworks exist which will minimise your development workload enormously - In particular, you may wish to have a look at CGI::Application which intergrates exceptionally well with CGI and HTML::Template, shortening the learning curve somewhat.

 

perl -e 's&&rob@cowsnet.com.au&&&split/[@.]/&&s&.com.&_&&&print'


In reply to Re: Multiple template coordination using HTML::Template by rob_au
in thread Multiple template coordination using HTML::Template by ryan

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.