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 (persistent) PSGI application. This application uses CGI::Compile to compile a cgi script into a sub (like ModPerl::Registry) and then run it using CGI::Emulate::PSGI.

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.

This module does not (yet) stat files nor recompile files on every request for the interest of performance. You need to restart the server process to reflect the changes to the CGI scripts.

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.

AUTHOR

Tatsuhiko Miyagawa

SEE ALSO

Plack::App::File CGI::Emulate::PSGI CGI::Compile Plack::App::WrapCGI