in reply to Re: Breaking up a CGI::Application program
in thread Breaking up a CGI::Application program

Hey thanks, but there is no html in the CGI::Application. Everything is already done using HTML::Template. I put the source on SVNWEB. You can check it out here if you care.

Update: fixed the link

  • Comment on Re^2: Breaking up a CGI::Application program

Replies are listed 'Best First'.
Re^3: Breaking up a CGI::Application program
by samtregar (Abbot) on May 31, 2006 at 21:09 UTC
    This is, in my opinion, equivalent to putting HTML in your code:

    $html_output .= $q->start_html(-title=>'petnuch.com', -style=>{-src=>'/css/layout.css'} ); $html_output .= banner($self); $html_output .= menu($self); $html_output .= create_error($self); $html_output .= footer($self); $html_output .= $q->end_html();

    You can definitely shorten and simplify this code a great deal by using templates instead.

    -sam

    PS: While you're in the code - write some comments! No wonder you're finding this hard to maintain - it's 4,000 lines of code without a single hint as to what it's trying to do.

      Agreed about the comments. But as far as me being able to simply the code a great dead by using templates I don't understand. If you look at what the functions (banner, menu, footer, etc..) do you will see this (I took menu as an example because it is the simpliest):

      sub menu { my $self = shift; my $template = $self->load_tmpl('menu.tmpl', cache => 1 ); return $template->output; }

      Those function calls are there because every page has a banner, a footer, a menu. The templates have various variables in them so that each banner, footer, whatever is customized depending where you are in the site. Are you really talking about something else? Any I using templates wrong?!?

        Any I using templates wrong?!?

        Yes - you should be using <tmpl_include> tags to do inclusion of sub-templates. And you're not using templates for all your HTML in the above example - CGI::start_html, for example.

        -sam