in reply to Emberl anyone???

A further comment. What is it that you are actually looking for to tools to do? Are you wanting an easier (or at least, easier) way to maintain a large (greater than 50 page) site, to ensure all pages have the same style, use the same navigation widgets, and when some common feature is to be changed across all pages, to make sure that is done quickly and completely?

If that is your need (even without the need for CGI programming, pages built dynamically from data base content, and the like), you will need some form of site builder that uses standard and common "objects". EmbPerl::Object is ideal for this, as is (I believe, having never used it), HTML::Mason. HTML::Template may be as well, although I though it didn't directly support the concept of "plugging in" standard elements.

Let me give an example. You want to have at the bottom of every page, a copyright line, with a hyperlink to the full legalese copyright statement. You could put in something like this:

<a href="copyright.html" style="copyright">&copyr; Semper Kludgiemus I +nc 1999-2001</a>;
on every page. What do you do next year, when the date range should say 1999-2002? You edit all 50, 100, 500 pages by hand? Gack!

This is where EmbPerl::Object and HTML::Mason come into their own. You have one overall "master page", which will include a copyright line similar to it in the appropriate place. Or, better still, a call to insert the copyright line "object". Since all your pages are build using this master template, there is only one place where the HTML source of your copyright line is specified. Change that once, and the change is reflected on all pages built.

Replies are listed 'Best First'.
Re: Re: Emberl anyone???
by Cubes (Pilgrim) on Jul 17, 2001 at 22:05 UTC
    With HTML::Template, you either use included files for the common elements with TMPL_INCLUDE, or you make the date range a TMPL_VAR.

    I agree, though, that taking a good hard look at what you're trying to accomplish and then picking a tool makes a lot more sense than doing it the other way around.