Jump to: navigation, search

PSGI or Perl Web Server Gateway Interface is an interface between web servers and web applications and frameworks written in the Perl programming language that allows writing portable applications that can be run as standalone servers or using CGI, FastCGI, mod_perl, et al. It is inspired by the Web Server Gateway Interface for Python, Rack for Ruby and JSGI for JavaScript.

A PSGI application is a Perl subroutine that accepts arguments as a single hash reference and returns a reference to an array of three elements: an HTTP status code, a reference to an array of HTTP headers and a reference to an array of HTTP body lines (usually a generated HTML document) or a filehandle-like object.

Plack is a reference PSGI implementation.

Web frameworks with PSGI support:

Example Application

This is an example hello world PSGI application:

my $app = sub {
    return [200, ['Content-Type' => 'text/plain'], ["hello, world\n"]];

Save this file as hello.psgi and run it from the command-line: plackup hello.psgi

Web hosting with support for standard PSGI

External links