From Wikipedia, the free encyclopedia
Jump to: navigation, search

PSGI or Perl Web Server Gateway Interface is an interface between web servers and Perl-based web applications and frameworks 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