Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

plack::handler::cgi(3pm) [debian man page]

Plack::Handler::CGI(3pm)				User Contributed Perl Documentation				  Plack::Handler::CGI(3pm)

NAME
Plack::Handler::CGI - CGI handler for Plack SYNOPSIS
Want to run PSGI application as a CGI script? Rename .psgi to .cgi and change the shebang line like: #!/usr/bin/env plackup # rest of the file can be the same as other .psgi file You can alternatively create a .cgi file that contains something like: #!/usr/bin/perl use Plack::Loader; my $app = Plack::Util::load_psgi("/path/to/app.psgi"); Plack::Loader->auto->run($app); This will auto-recognize the CGI environment variable to load this class. If you really want to explicitly load the CGI handler, you can. For instance you might do this when you want to embed a PSGI application server built into CGI-compatible perl-based web server: use Plack::Handler::CGI; Plack::Handler::CGI->new->run($app); DESCRIPTION
This is a handler module to run any PSGI application as a CGI script. UTILITY METHODS
setup_env() my $env = Plack::Handler::CGI->setup_env(); my $env = Plack::Handler::CGI->setup_env(\%override_env); Sets up the PSGI environment hash for a CGI request from %ENV> and returns it. You can can provide a hashref of key/value pairs to override the defaults if you would like. SEE ALSO
Plack perl v5.14.2 2011-06-22 Plack::Handler::CGI(3pm)

Check Out this Related Man Page

Plack::App::CGIBin(3pm) 				User Contributed Perl Documentation				   Plack::App::CGIBin(3pm)

NAME
Plack::App::CGIBin - cgi-bin replacement for Plack servers SYNOPSIS
use Plack::App::CGIBin; use Plack::Builder; my $app = Plack::App::CGIBin->new(root => "/path/to/cgi-bin")->to_app; builder { mount "/cgi-bin" => $app; }; # Or from the command line plackup -MPlack::App::CGIBin -e 'Plack::App::CGIBin->new(root => "/path/to/cgi-bin")->to_app' DESCRIPTION
Plack::App::CGIBin allows you to load CGI scripts from a directory and convert them into a PSGI application. This would give you the extreme easiness when you have bunch of old CGI scripts that is loaded using cgi-bin of Apache web server. HOW IT WORKS
This application checks if a given file path is a perl script and if so, uses CGI::Compile to compile a CGI script into a sub (like ModPerl::Registry) and then run it as a persistent application using CGI::Emulate::PSGI. If the given file is not a perl script, it executes the script just like a normal CGI script with fork & exec. This is like a normal web server mode and no performance benefit is achieved. The default mechanism to determine if a given file is a Perl script is as follows: o Check if the filename ends with ".pl". If yes, it is a Perl script. o Open the file and see if the shebang (first line of the file) contains the word "perl" (like "#!/usr/bin/perl"). If yes, it is a Perl script. You can customize this behavior by passing "exec_cb" callback, which takes a file path to its first argument. For example, if your perl-based CGI script uses lots of global variables and such and are not ready to run on a persistent environment, you can do: my $app = Plack::App::CGIBin->new( root => "/path/to/cgi-bin", exec_cb => sub { 1 }, )->to_app; to always force the execute option for any files. AUTHOR
Tatsuhiko Miyagawa SEE ALSO
Plack::App::File CGI::Emulate::PSGI CGI::Compile Plack::App::WrapCGI See also Plack::App::WrapCGI if you compile one CGI script into a PSGI application without serving CGI scripts from a directory, to remove overhead of filesystem lookups, etc. perl v5.14.2 2011-11-02 Plack::App::CGIBin(3pm)
Man Page