---
name: "Plack::App::WrapCGI"
section: "3pm"
platform: "linux"
package: "libplack-perl"
version: "1.0051-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Plack::App::WrapCGI"
---

# Plack::App::WrapCGI(3pm)

Compiles a CGI script as PSGI application

## NAME

Plack::App::WrapCGI - Compiles a CGI script as PSGI application

## SYNOPSIS

```
  use Plack::App::WrapCGI;
  my $app = Plack::App::WrapCGI->new(script => "/path/to/script.pl")->to_app;
  # if you want to execute as a real CGI script
  my $app = Plack::App::WrapCGI->new(script => "/path/to/script.rb", execute => 1)->to_app;
```

## DESCRIPTION

Plack::App::WrapCGI compiles a CGI script into a PSGI application using CGI::Compile and CGI::Emulate::PSGI, and runs it with any PSGI server as a PSGI application.

See also Plack::App::CGIBin if you have a directory that contains a lot of CGI scripts and serve them like Apache's mod\_cgi.

## METHODS

- new

  ```
    my $app = Plack::App::WrapCGI->new(%args);
  ```

  Creates a new PSGI application using the given script. *%args* has two parameters:

  - script

    The path to a CGI-style program. This is a required parameter.

  - execute

    An optional parameter. When set to a true value, this app will run the script with a CGI-style `"fork"`/`"exec"` model. Note that you may run programs written in other languages with this approach.

## AUTHOR

Tatsuhiko Miyagawa

## SEE ALSO

Plack::App::CGIBin
