The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
NAME

      CGI-Prototype - Create a CGI application by prototyped subclasssing

SYNOPSIS
      package My::HelloWorld;
      use base CGI::Prototype;

      sub template { \ <<'END_OF_TEMPLATE' }
      [% self.CGI.header; %]
      Hello world at [% USE Date; Date.format(date.now) | html %]!
      END_OF_TEMPLATE

      My::HelloWorld->activate;

DESCRIPTION
    The core of every CGI application seems to be roughly the same:

    *   Analyze the incoming parameters, cookies, and URLs to determine the
        state of the application (let's call this "dispatch").

    *   Based on the current state, analyze the incoming parameters to
        respond to any form submitted ("respond").

    *   From there, decide what response page should be generated, and
        produce it ("render").

    CGI::Prototype creates a "Class::Prototyped" engine for doing all this,
    with the right amount of callback hooks to customize the process.
    Because I'm biased toward Template Toolkit for rendering HTML, I've also
    integrated that as my rendering engine of choice. And, being a fan of
    clean MVC designs, the classes become the controllers, and the templates
    become the views, with clean separation of responsibilities, and
    "CGI::Prototype" a sort of "archetypal" controller.

INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install

DEPENDENCIES

This module requires these other modules and libraries:

  Class::Prototyped
  Template (aka Template Toolkit)

AUTHOR
    Randal L. Schwartz, <merlyn@stonehenge.com>

    Special thanks to Geekcruises.com and an unnamed large university for
    providing funding for the development of this module.

COPYRIGHT AND LICENSE
    Copyright (C) 2003, 2004 by Randal L. Schwartz

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself, either Perl version 5.8.5 or, at
    your option, any later version of Perl 5 you may have available.