#!/usr/bin/perl use strict; use warnings; use Plack::Request; use Plack::Response; use Plack::Builder; my %router = ( '/' => \&beverage, '/ajax' => \&fruit_juice ); my $app = sub { my $env = shift; my $request = Plack::Request->new($env); my $route = $router{$request->path_info}; if ($route) { return $route->($env); } else { return [ '404', [ 'Content-Type' => 'text/html' ], [ '404 Not Found' ], ]; } }; sub beverage { return [ 200, ['Content-Type' => 'text/html'], ['

Beverage

Choices

'] ]; }; sub fruit_juice { my $env = shift; my $request = Plack::Request->new($env); my $beverage = $request->param('beverage'); my $response = Plack::Response->new(200); # new Plack::Response if ($beverage eq 'Non-alcoholic') { $response->headers({ 'Content-Type' => 'text/html' }); $response->content(" "); return $response->finalize; } }; builder { # serve static files enable 'Static', path => sub { s!^/static/!! }, root => '/Library/WebServer/Documents'; $app; };