The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#########################################################################
## CGI::Application - Framework for building reusable web-applications ##
#########################################################################

CGI::Application is intended to make it easier to create sophisticated,
reusable web-based applications. This module implements a methodology which,
if followed, will make your web software easier to design, easier to
document, easier to write, and easier to evolve.


Download site for CGI::Application:

  http://search.cpan.org/dist/CGI-Application/


CHANGES SINCE VERSION 3.0:
- Changed dump_html default run-mode to be referenced by name 
  instead of sub-ref.  This allows dump_html() to be overridden 
  in sub-class.
- Added current run-mode to output of dump() and dump_html().
  (Thanks to Mark Stosberg for the suggestion.)
- Added example of doing an HTTP redirect (suggested by Sam Tregar)
- Fixed bug where non-CGI.pm query objects couldn't be set
  at initialization time via the new() method.  (Thanks to Steve 
  Hay for the catch.)
- Added header_type("none") to surpress HTTP header output.
  (Thanks to Steve Comrie for the suggestion.)
- Numerous typos corrected in POD.
- Added cgiapp_postrun() hook.  This hook allows run-mode output
  to be "pipelined" through optional filters, modifying the
  content and HTTP headers if so desired.


Read the article "Using CGI::Application" on Perl.com for an 
overview of this module and its usage:

  http://www.perl.com/pub/a/2001/06/05/cgi.html


HOW DO I INSTALL IT?

To install this module, cd to the directory that contains this README
file and type the following:

   perl Makefile.PL
   make
   make test
   make install


CGI::Application builds on standard, non-proprietary technologies and 
techniques, such as the Common Gateway Interface and Lincoln D. Stein's 
excellent CGI.pm module.  CGI::Application judiciously avoids employing 
technologies and techniques which would bind a developer to any one set 
of tools, operating system or web server.

The guiding philosophy behind CGI::Application is that a web-based
application can be organized into a specific set of "Run-Modes." Each
Run-Mode is roughly analogous to a single screen (a form, some output, etc).
All the Run-Modes are managed by a single "Application Module" which is a
Perl module. In your web server's document space there is an "Instance
Script" which is called by the web server as a CGI (or an Apache::Registry
script if you're using Apache + mod_perl).

CGI::Application is an Object-Oriented Perl module which implements an
Abstract Class. It is not intended that this package be instantiated
directly. Instead, it is intended that your Application Module will be
implemented as a Sub-Class of CGI::Application.

If you have any questions, comments, bug reports or feature suggestions, 
post them to the support mailing list!  To join the mailing list, simply
send a blank message to "cgiapp-subscribe@lists.erlbaum.net".