Every Templating system has it's merits, so rather than try to sway you to one or another (I'm sure others will step up for that), I'll just mention what you should be shooting for:

Large websites mean that you have a lot of code. To keep the site flexible and maintainable, you should keep the Perl code and the HTML separate. Likewise, I suggest you template your navigation as well. Done properly, this means you can change the "look and feel" of your site by changing one set of templates that will affect all your pages. You should also make your own code as modular as possible. That way you don't have identical code in 15 scripts.

The other concern doesn't deal with number pages, but instead amount of traffic, in which case you are interested in efficency. The answer there is mod_perl. Most of the templating sytems (all of the major ones) are mod_perl friendly, as far as I know.

CGI::Application is indeed "just a way to avoid 'if-then' statements", but you can also use it (or any setup like it) as a central point for your code. You could make a sub-class that all of your scripts are sub-classes of, and should you need to update anything, you can update your super-class and have all of your scripts updated instantly. THis is what object-oriented programming is all about.

CGI::App isn't really a templating system. HTML::Template, HTML::Mason, HTML::Embperl and Template::Toolkit are templating systems.


In reply to Re: Building large Web sites by swiftone
in thread Building large Web sites by Anonymous Monk

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.