Mojolicious::Plugin::CGI - Run CGI script from Mojolicious
0.06
This plugin enable Mojolicious to run Perl CGI scripts. It does so by forking a new process with a modified environment and reads the STDOUT in a non-blocking matter.
use Mojolicious::Lite; plugin CGI => [ '/script' => '/path/to/cgi/script.pl' ]; plugin CGI => { route => '/mount/point', script => '/path/to/cgi/script.pl', env => {}, # default is \%ENV before => sub { # called before setup and script start my $c = shift; # modify QUERY_STRING $c->req->url->query->param(a => 123); }, }; app->start;
Returns a hash ref containing the environment variables that should be used when starting the CGI script. Defaults to %ENV when this module was loaded.
%ENV
%env = $self->emulate_environment($c);
Returns a hash which contains the environment variables which should be used by the CGI script.
In addition to "env", these dynamic variables are set:
CONTENT_LENGTH, CONTENT_TYPE, HTTP_COOKIE, HTTP_HOST, HTTP_REFERER, HTTP_USER_AGENT, HTTPS, PATH, PATH_INFO, QUERY_STRING, REMOTE_ADDR, REMOTE_HOST, REMOTE_PORT, REMOTE_USER, REQUEST_METHOD, SCRIPT_NAME, SERVER_PORT, SERVER_PROTOCOL.
Additional static variables:
GATEWAY_INTERFACE = "CGI/1.1" SERVER_ADMIN = $ENV{USER} SCRIPT_FILENAME = Script name given as argument to register. SERVER_NAME = Sys::Hostname::hostname() SERVER_SOFTWARE = "Mojolicious::Plugin::CGI"
$self->register($app, [ $route => $script ]); $self->register($app, %args); $self->register($app, \%args);
route and path need to exist as keys in %args unless given as plain arguments.
route
%args
$route can be either a plain path or a route object.
$route
Jan Henning Thorsen - jhthorsen@cpan.org
jhthorsen@cpan.org
To install Mojolicious::Plugin::CGI, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mojolicious::Plugin::CGI
CPAN shell
perl -MCPAN -e shell install Mojolicious::Plugin::CGI
For more information on module installation, please visit the detailed CPAN module installation guide.