NAME
    Catalyst::Controller::CGIBin - Serve CGIs from root/cgi-bin
SYNOPSIS
    In your controller:
        package MyApp::Controller::Foo;
        use parent qw/Catalyst::Controller::CGIBin/;
    In your .conf:
        
            cgi_root_path    cgi-bin
            cgi_dir          cgi-bin
            cgi_chain_root   /optional/private/path/to/Chained/root
            cgi_file_pattern *.cgi
            # or regex
            cgi_file_pattern /\.pl\z/
            
                username_field username # used for REMOTE_USER env var
                pass_env PERL5LIB
                pass_env PATH
                pass_env /^MYAPP_/
            
        
DESCRIPTION
    Dispatches to CGI files in root/cgi-bin for /cgi-bin/ paths.
    Unlike ModPerl::Registry this module does _NOT_ stat and recompile the
    CGI for every invocation. This may be supported in the future if there's
    interest.
    CGI paths are converted into action names using "cgi_action".
    Inherits from Catalyst::Controller::WrapCGI, see the documentation for
    that module for other configuration information.
CONFIG PARAMS
  cgi_root_path
    The global URI path prefix for CGIs, defaults to "cgi-bin".
  cgi_chain_root
    By default Path actions are created for CGIs, but if you specify this
    option, the actions will be created as Chained end-points, chaining off
    the specified private path.
    If this option is used, the "cgi_root_path" option is ignored. The root
    path will be determined by your chain.
    The PathPart of the action will be the path to the CGI file.
  cgi_dir
    Path from which to read CGI files. Can be relative to "$MYAPP_HOME/root"
    or absolute. Defaults to "$MYAPP_HOME/root/cgi-bin".
  cgi_file_pattern
    By default all files in "cgi_dir" will be loaded as CGIs, however, with
    this option you can specify either a glob or a regex to match the names
    of files you want to be loaded.
    Can be an array of globs/regexes as well.
METHODS
  cgi_action
    "$self->cgi_action($cgi)"
    Takes a path to a CGI from "root/cgi-bin" such as "foo/bar.cgi" and
    returns the action name it is registered as.
  cgi_path
    "$self->cgi_path($cgi)"
    Takes a path to a CGI from "root/cgi-bin" such as "foo/bar.cgi" and
    returns the public path it should be registered under.
    The default is to prefix with "$cgi_root_path/", using the
    "cgi_root_path" config setting, above.
  is_perl_cgi
    "$self->is_perl_cgi($path)"
    Tries to figure out whether the CGI is Perl or not.
    If it's Perl, it will be inlined into a sub instead of being forked off,
    see "wrap_perl_cgi".
  wrap_perl_cgi
    "$self->wrap_perl_cgi($path, $action_name)"
    Takes the path to a Perl CGI and returns a coderef suitable for passing
    to cgi_to_response (from Catalyst::Controller::WrapCGI) using
    CGI::Compile.
    $action_name is the generated name for the action representing the CGI
    file from "cgi_action".
    This is similar to how ModPerl::Registry works, but will only work for
    well-written CGIs. Otherwise, you may have to override this method to do
    something more involved (see ModPerl::PerlRun.)
    Scripts with "__DATA__" sections now work too, as well as scripts that
    call "exit()".
  cgi_package
    "$self->cgi_package($action_name)"
    Returns the package name a Perl CGI is compiled into for a given
    $action_name.
  wrap_nonperl_cgi
    "$self->wrap_nonperl_cgi($path, $action_name)"
    Takes the path to a non-Perl CGI and returns a coderef for executing it.
    $action_name is the generated name for the action representing the CGI
    file.
    By default returns something like:
        sub { system $path }
SEE ALSO
    Catalyst::Controller::WrapCGI, CatalystX::GlobalContext,
    Catalyst::Controller, CGI, CGI::Compile, Catalyst
BUGS
    Please report any bugs or feature requests to
    "bug-catalyst-controller-wrapcgi at rt.cpan.org", or through the web
    interface at
    . I will be notified, and then you'll automatically be notified of
    progress on your bug as I make changes.
SUPPORT
    More information at:
    *   RT: CPAN's request tracker
        
    *   AnnoCPAN: Annotated CPAN documentation
        
    *   CPAN Ratings
        
    *   Search CPAN
        
AUTHOR
    See "AUTHOR" in Catalyst::Controller::WrapCGI and "CONTRIBUTORS" in
    Catalyst::Controller::WrapCGI.
COPYRIGHT & LICENSE
    Copyright (c) 2008-2009 "AUTHOR" in Catalyst::Controller::WrapCGI and
    "CONTRIBUTORS" in Catalyst::Controller::WrapCGI.
    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.