CGI::AppBuilder - CGI Application Builder
use CGI::AppBuilder; my $cg = CGI::AppBuilder->new('ifn', 'my_init.cfg', 'opt', 'vhS:a:'); my $ar = $cg->get_inputs;
There are already many application builders out there. Why you need another one? Well, if you are already familiar with CGI::Builder or CGI::Application, this one will provide some useful methods to you to read your configuration file and pre-process your templates. Please read on.
Input variables:
$ifn - input/initial file name. $opt - options for Getopt::Std
Variables used or routines called:
None
How to use:
my $ca = new CGI::AppBuilder; # or my $ca = CGI::AppBuilder->new; # or my $ca = CGI::AppBuilder->new(ifn=>'file.cfg',opt=>'hvS:'); # or my $ca = CGI::AppBuilder->new('ifn', 'file.cfg','opt','hvS:');
Return: new empty or initialized CGI::AppBuilder object.
This method constructs a Perl object and capture any parameters if specified. It creates and defaults the following variables:
$self->{ifn} = "" $self->{opt} = 'hvS:';
$prg - program name $arg - array ref for arguments - %ARGV $nhh - no html header pre-printed 1 - no HTML header is set in any circumstance 0 - HTML header will be set when it is possible
build_html_header - build HTML header array Debug::EchoMessage echo_msg - echo messages start_log - start and write message log CGI::Getopt get_inputs - read input file and/or CGI form inputs
my ($q, $ar, $ar_log) = $self->start_app($0,\@ARGV);
Return: ($q,$ar,$ar_log) where
$q - a CGI object $ar - hash ref containing parameters from input file and/or CGI form inputs and the following elements: ifn - initial file name opt - command input options cfg - configuratoin array html_header - HTML header parameters (hash ref) msg - contain message hash $ar_log - hash ref containing log information
This method performs the following tasks:
1) initial a CGI object 2) read initial file if specified or search for a default file (the same as $prg with .ini extension) and save the file name to $ar->{ifn}. 3) define message level 4) start HTML header and body using I<page_title> and I<page_style> if they are defined. 5) parse CGI form inputs and combine them with parameters defined in initial file 6) read configuration file ($prg.cfg) if it exists and save the array to $ar->{cfg} 7) prepare log record if write log is enabled
It checks the parameters read from initial file for page_title, page_style, page_author, page_meta, top_nav, bottom_nav, and js_src.
$q - CGI object $ar - array ref for parameters $ar_log - hash ref for log record $nhh - no html header pre-printed 1 - no HTML is printed in any circumstance 0 - HTML header will be printed when it is possible
Debug::EchoMessage echo_msg - echo messages end_log - start and write message log set_param - get a parameter from hash array
my ($q, $ar, $ar_log) = $self->start_app($0,\@ARGV); $self->end_app($q, $ar, $ar_log);
Return: none
1) ends HTML document 2) writes log records to log files 3) close database connection if it finds DB handler in {dbh}
Version 0.10
This version is to extract out the app methods from CGI::Getopt class. It was too much for CGI::Getopt to include the start_app, end_app, build_html_header, and disp_form methods.
0.11 Rewrote start_app method so that content-type can be changed. 0.12 Moved disp_form to CGI::AppBuilder::Form, moved build_html_header to CGI::AppBuilder::Header, and imported all the methods in sub-classes into this class.
Version 0.20
Oracle::Loader, Oracle::Trigger, CGI::Getopt, File::Xcopy, CGI::AppBuilder, CGI::AppBuilder::Message, CGI::AppBuilder::Log, CGI::AppBuilder::Config, etc.
Copyright (c) 2005 Hanming Tu. All rights reserved.
This package is free software and is provided "as is" without express or implied warranty. It may be used, redistributed and/or modified under the terms of the Perl Artistic License (see http://www.perl.com/perl/misc/Artistic.html)
1 POD Error
The following errors were encountered while parsing the POD:
You forgot a '=back' before '=head1'
To install CGI::AppBuilder, copy and paste the appropriate command in to your terminal.
cpanm
cpanm CGI::AppBuilder
CPAN shell
perl -MCPAN -e shell install CGI::AppBuilder
For more information on module installation, please visit the detailed CPAN module installation guide.