Web::Simple::Deployment(3pm)

Web::Simple::Deployment3pm

Various deployment options

Overview

This file documents common deployment methods for Web::Simple. If you feel one is missing, please ask in the IRC channel and we'll work with you to add it.

Cgi

The most basic deployment option is as a CGI script loading and running your Web::Simple-module:

  #!/usr/bin/env perl
  use Your::Web::Simple::App;
  Your::Web::Simple::App->run_if_script;

Save that as script.cgi and your web server will handle it correctly.

Plack-Server

This works in with exactly the same code as CGI deployment. However instead of letting your web server load script.cgi, you run this on the command line:

  plackup script.cgi

Self-contained CGI

Sometimes your app is so small that you have only one or two tiny classes that you want to run as a CGI script. Web::Simple offers a helpful mechanism to achieve that.

  #!/usr/bin/env perl
  use Web::Simple 'HelloWorld';   # enables strictures and warnings for the file
                                  # additionally, HelloWorld is upgraded to a
                                  # Web::Simple application
  {
    package HelloWorld;
    sub dispatch_request {
      sub (GET) {
        [
          200,
          [ 'Content-type', 'text/plain' ],
          [ 'Hello world! It is a fine ' . HelloWorld::Helper->day ]
        ]
      },
      sub () {
        [ 405, [ 'Content-type', 'text/plain' ], [ 'Method not allowed' ] ]
      }
    }
  }
  {
    package HelloWorld::Helper;
    use DateTime;
    sub day {
      return DateTime->now->day_name;
    }
  }
  HelloWorld->run_if_script;

Releases

7 releases since Debian 7 (Wheezy); the text changed 4 times.

  1. 7
  2. 8
  3. 9
  4. 10–11
  5. 12–13

Authors

See Web::Simple for authors.

From libweb-simple-perl 0.033-2 in Debian 13 (Trixie). Parsed by carta from the page's man source.