NAME
CGI::Pure - Common Gateway Interface Class.
SYNOPSIS
use CGI::Pure;
my $cgi = CGI::Pure->new(%parameters);
$cgi->append_param('par', 'value');
my @par_value = $cgi->param('par');
$cgi->delete_param('par');
$cgi->delete_all_params;
my $query_string = $cgi->query_string;
$cgi->upload('filename', '~/filename');
my $mime = $cgi->upload_info('filename', 'mime');
my $query_data = $cgi->query_data;
METHODS
new(%parameters)-
Constructordisable_uploadDisables file upload. Default value is 1.initInitialization variable. May be: - CGI::Pure object. - Hash with params. - Query string. Default is undef.par_sepParameter separator. Default value is '&'. Possible values are '&' or ';'.post_maxMaximal post length. -1 means no limit. Default value is 102400kBsave_query_dataFlag, that means saving query data. When is enable, is possible use query_data method. Default value is 0.utf8Flag, that means utf8 CGI parameters handling. Default is 1.
append_param($param, [@values])-
Append param value. Returns all values for param. clone($class)-
Clone class to my class. delete_param($param)-
Delete param. Returns undef, when param doesn't exist. Returns 1, when param was deleted. delete_all_params()-
Delete all params. param([$param], [@values])-
Returns or sets parameters in CGI. params() returns all parameters name. params('param') returns parameter 'param' value. params('param', 'val1', 'val2') sets parameter 'param' to 'val1' and 'val2' values. query_data()-
Gets query data from server. There is possible only for enabled 'save_data' flag. query_string()-
Returns actual query string. upload($filename, [$write_to])-
Upload file from tmp. upload() returns array of uploaded filenames. upload($filename) returns handler to uploaded filename. upload($filename, $write_to) uploads temporary '$filename' file to '$write_to' file. upload_info($filename, [$info])-
Returns informations from uploaded files. upload_info() returns array of uploaded files. upload_info('filename') returns size of uploaded 'filename' file. upload_info('filename', 'mime') returns mime type of uploaded 'filename' file.
ERRORS
new():
400 Malformed multipart, no terminating boundary.
400 No boundary supplied for multipart/form-data.
405 Not Allowed - File uploads are disabled.
413 Request entity too large: %s bytes on STDIN exceeds post_max !
500 Bad read! wanted %s, got %s.
500 IO::File can\'t create new temp_file.
500 IO::File is not available %s.
Bad parameter separator '%s'.
From Class::Utils::set_params():
Unknown parameter '%s'.
append_param():
Parameter '%s' has bad value.
upload():
Cannot close file '%s': %s.
Cannot write file '%s': %s.
File uploads only work if you specify enctype="multipart/form-data" in your form.
No filehandle for '%s'. Are uploads enabled (disable_upload = 0)? Is post_max big enough?
No filename submitted for upload to '$writefile'.
upload_info():
File uploads only work if you specify enctype="multipart/form-data" in your form.
EXAMPLE1
use strict;
use warnings;
use CGI::Pure;
# Object.
my $query_string = 'par1=val1;par1=val2;par2=value';
my $cgi = CGI::Pure->new(
'init' => $query_string,
);
foreach my $param_key ($cgi->param) {
print "Param '$param_key': ".join(' ', $cgi->param($param_key))."\n";
}
# Output:
# Param 'par1': val1 val2
# Param 'par2': value
EXAMPLE2
use strict;
use warnings;
use CGI::Pure;
# Object.
my $cgi = CGI::Pure->new;
$cgi->param('par1', 'val1', 'val2');
$cgi->param('par2', 'val3');
$cgi->append_param('par2', 'val4');
foreach my $param_key ($cgi->param) {
print "Param '$param_key': ".join(' ', $cgi->param($param_key))."\n";
}
# Output:
# Param 'par2': val3 val4
# Param 'par1': val1 val2
DEPENDENCIES
Class::Utils, CGI::Deurl::XS, Error::Pure, URI::Escape.
SEE ALSO
- CGI::Pure::Fast
-
Fast Common Gateway Interface Class for CGI::Pure.
- CGI::Pure::Save
-
Common Gateway Interface Class for loading/saving object in file.
AUTHOR
Michal Josef Špaček mailto:skim@cpan.org
LICENSE AND COPYRIGHT
© 2004-2021 Michal Josef Špaček
BSD 2-Clause License
VERSION
0.09