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

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

Run .psgi files from a directory

## NAME

Plack::App::PSGIBin - Run .psgi files from a directory

## SYNOPSIS

```
  use Plack::App::PSGIBin;
  use Plack::Builder;
  my $app = Plack::App::PSGIBin->new(root => "/path/to/psgi/scripts")->to_app;
  builder {
      mount "/psgi" => $app;
  };
  # Or from the command line
  plackup -MPlack::App::PSGIBin -e 'Plack::App::PSGIBin->new(root => "/path/psgi/scripts")->to_app'
```

## DESCRIPTION

This application loads *.psgi* files (or actually whichever filename extensions) from the root directory and run it as a PSGI application. Suppose you have a directory containing `"foo.psgi"` and `"bar.psgi"`, map this application to `"/app"` with Plack::App::URLMap and you can access them via the URL:

```
  http://example.com/app/foo.psgi
  http://example.com/app/bar.psgi
```

to load them. You can rename the file to the one without `".psgi"` extension to make the URL look nicer, or use the URL rewriting tools like Plack::Middleware::Rewrite to do the same thing.

## AUTHOR

Tatsuhiko Miyagawa

## SEE ALSO

Plack::App::CGIBin
