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

# Plack::Loader(3pm)

(auto)load Plack Servers

## NAME

Plack::Loader - (auto)load Plack Servers

## SYNOPSIS

```
  # auto-select server backends based on env vars
  use Plack::Loader;
  Plack::Loader->auto(%args)->run($app);
  # specify the implementation with a name
  Plack::Loader->load('FCGI', %args)->run($app);
```

## DESCRIPTION

Plack::Loader is a factory class to load one of Plack::Handler subclasses based on the environment.

## AUTOLOADING

`"Plack::Loader->auto(%args)"` will autoload the most correct server implementation by guessing from environment variables and Perl INC hashes.

- PLACK\_SERVER

  ```
    env PLACK_SERVER=AnyEvent ...
  ```

  Plack users can specify the specific implementation they want to load using the `"PLACK_SERVER"` environment variable.

- PHP\_FCGI\_CHILDREN, GATEWAY\_INTERFACE

  If there's one of FastCGI or CGI specific environment variables set, use the corresponding server implementation.

- %INC

  If one of AnyEvent, Coro or POE is loaded, the relevant server implementation such as Twiggy, Corona or POE::Component::Server::PSGI will be loaded, if they're available.
