.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Plack::Handler::CGI 3pm" .TH Plack::Handler::CGI 3pm 2024-01-20 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Plack::Handler::CGI \- CGI handler for Plack .SH SYNOPSIS .IX Header "SYNOPSIS" Want to run PSGI application as a CGI script? Rename .psgi to .cgi and change the shebang line like: .PP .Vb 2 \& #!/usr/bin/env plackup \& # rest of the file can be the same as other .psgi file .Ve .PP You can alternatively create a .cgi file that contains something like: .PP .Vb 4 \& #!/usr/bin/perl \& use Plack::Loader; \& my $app = Plack::Util::load_psgi("/path/to/app.psgi"); \& Plack::Loader\->auto\->run($app); .Ve .PP This will auto-recognize the CGI environment variable to load this class. .PP 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: .PP .Vb 2 \& use Plack::Handler::CGI; \& Plack::Handler::CGI\->new\->run($app); .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" This is a handler module to run any PSGI application as a CGI script. .SH "UTILITY METHODS" .IX Header "UTILITY METHODS" .SS \fBsetup_env()\fP .IX Subsection "setup_env()" .Vb 2 \& my $env = Plack::Handler::CGI\->setup_env(); \& my $env = Plack::Handler::CGI\->setup_env(\e%override_env); .Ve .PP Sets up the PSGI environment hash for a CGI request from \f(CW%ENV\fR> and returns it. You can provide a hashref of key/value pairs to override the defaults if you would like. .SH "SEE ALSO" .IX Header "SEE ALSO" Plack