CGI-Thin
view release on metacpan or search on metacpan
The optional @keys will be used to force arrays to be returned.
The function also has special features for getting multiple values for a
single form key. For example if we have this form...
<input type="checkbox" name="color" value="red">red
<input type="checkbox" name="color" value="green">green
<input type="checkbox" name="color" value="blue">blue
One of three things can happen.
1) The user does not select any color.
So $cgi_data{'color'} will not exist.
2) The user selects exactly one color.
So $cgi_data{'color'} will be the scalar value selected.
3) The user selects exactly more than one color.
So $cgi_data{'color'} will be a reference to an array of the values selected.
To fix this you could call the parser by giving it a list of keys that you want
to force to be arrays. In this case like...
use CGI::Thin;
my %cgi_data = &Parse_CGI ('color');
Now it they pick exactly one color, $cgi_data{'color'} will be a reference to
an array of the one value selected. And thus there will be no need for
special cases later in the code.
BUGS
Fixed
* Added %([0-9a-fA-F]{2} to the regular expression to avoid
illegal escapes
* Now split the key/value pairs by [;&] not just the ampersand
Pending
* Long headers lines that have been broken over multiple lines in
multipart/form-data don't seem to be handled.
* Large file uploads (like 150MB) will clobber main memory. One
possible addition is to change how multipart/form-data is
read and to spit files directly to the temp directory and
return to the script a filename so it can be retreived from
there.
* Any thoughts on adapting it for use withing a mod_perl
environment?
Under Apache::Registry, which emulates a CGI environmnet, it
should be. Under plain ol' mod_perl, we need to interact
with the Apache::Request class a bit instead of %ENV and
STDIN.
This feature may be added in the next incarnation of the
module, or possibly a companion CGI::Thin::Mod_Perlish may
be created to do it if the code will be too different.
SEE ALSO
CGI::Thin::Cookies
SUPPORT
Visit CGI::Thin's web site at
http://www.PlatypiVentures.com/perl/modules/cgi_thin.shtml
Send email to
mailto:cgi_thin@PlatypiVentures.com
AUTHOR
R. Geoffrey Avery
CPAN ID: RGEOFFREY
rGeoffrey@PlatypiVentures.com
http://www.PlatypiVentures.com/perl
COPYRIGHT
This module is free software, you may redistribute it or modify
in under the same terms as Perl itself.
( run in 1.192 second using v1.01-cache-2.11-cpan-f56aa216473 )