Hello Tosh.  I stopped using CGI.pm a very long time ago after 
learning about the apreq2 library which provides access to the 
Apache2::Request module.  Particularly, there is support for CGI 
parameters, including multiple file uploads from the same HTML form, 
and also the Cookie API:

                
http://search.cpan.org/~isaac/libapreq2-2.13/glue/perl/lib/Apache2/Request.pm

        In addition to mod_perl2, you'll also need to install libapreq2.  On 
NetBSD (the server Operating System that I use), the packages and 
pkgin systems both support this very well with Apache HTTPd v2.2 and 
Apache HTTPd v2.4 on all of my production systems.  As I understand 
it, these modules are also supported very well on other flavours of 
Unix and probably most (if not all) distributions of Linux.

        Apache2::Request is not a drop-in replacement for CGI.pm (or at 
least it wasn't when I initially switched to Apache2::Request), but 
it does provide the functionality needed to handle HTTP's GET and 
POST methods used with HTML forms in a feature-rich manner with a lot 
of flexibility for handling file uploads.

        (I don't know if mod_perl2 provides support for accessing CGI 
parameters without apreq, and I have not looked into it.)

        After I first made the change from CGI.pm to using apreq2, I noticed 
that CPU utilization was dramatically lower during peak times for my 
busier web sites, so I felt that this was well worth the effort.

> Hi, after the recent discussion here about Perl application servers I 
> realized that the architecture I designed is probably better suited to 
> usage with an application server than mod_perl.
> 
> The basic structure of my mod_perl web application is:
> 
> *.pl files are handled by ModPerl::Registry
> 
> All *.pl files are structured in the following way:
> 
> #!/usr/bin/perl
> 
> use strict;
> use CGI;
> ...
> 
> &main;
> 
> sub main {
> ...
> }
> 
> 
> 
> I use CGI.pm 99% ONLY for dealing with input, $cgi->param() ... 99% of 
> output is either JSON or Template Toolkit generated HTML.
> 
> Should I be looking at CGI::Application?
> 
> Or CGI::PSGI?
> 
> Or even CGI::Emulate::PSGI ?
> 
> Should I ask this elsewhere?
> 
> Thanks for any advice!
> 
> Tosh
> 
> 
> -- 
> McIntosh Cooey - Twelve Hundred Group LLC - http://www.1200group.com/


Randolf Richardson - rand...@inter-corporate.com
Inter-Corporate Computer & Network Services, Inc.
Beautiful British Columbia, Canada
http://www.inter-corporate.com/


Reply via email to