GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PLACK::HANDLER::CLI (3)

.ds Aq ’

NAME

Plack::Handler::CLI - Command line interface to PSGI applications

CONTENTS

VERSION

This document describes Plack::Handler::CLI version 0.05.

SYNOPSIS



    #!perl -w
    # a cat(1) implementation on PSGI/CLI
    use strict;
    use Plack::Handler::CLI;
    use URI::Escape qw(uri_unescape);

    sub err {
        my(@msg) = @_;
        return [
            500,
            [ Content-Type => text/plain ],
            \@msg,
        ];
    }

    sub main {
        my($env) = @_;

        my @files = split /, $env->{PATH_INFO};

        local $/;

        my @contents;
        if(@files) {
            foreach my $file(@files) {
                my $f = uri_unescape($file);
                open my $fh, <, $f
                    or return err("Cannot open $f: $!\n");

                push @contents, readline($fh);
            }
        }
        else {
            push @contents, readline($env->{psgi.input});
        }

        return [
            200,
            [ Content-Type => text/plain],
            \@contents,
        ];
    }

    my $handler = Plack::Handler::CLI->new(need_headers => 0);
    $handler->run(\&main);



DESCRIPTION

Plack::Handler::CLI is a PSGI handler which provides a command line interface for PSGI applications.

INTERFACE

CWPlack::Handler::CLI->new(%options)

Creates a Plack handler that implements a command line interface.

PSGI headers will be printed by default, but you can suppress them by need_headers => 0.

CW$cli->run(\&psgi_app, @argv) : Void

Runs &psgi_app with @argv.

"--key" => "value" (or "--key=value") pairs in @argv are packed into QUERY_STRING, while any other arguments are packed into PATH_INFO, so &psgi_app can get command line arguments as PSGI parameters. The first element of @argv after the query parameters could also be a absolute URL.

DEPENDENCIES

Perl 5.8.1 or later.

BUGS

All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT.

SEE ALSO

PSGI

Plack

AUTHOR

Goro Fuji (gfx) <gfuji(at)cpan.org>

LICENSE AND COPYRIGHT

Copyright (c) 2011, Goro Fuji (gfx). All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic for details.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 PLACK::HANDLER::CLI (3) 2016-04-03

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.