NAME

Perinci::Easy - Some easy shortcuts for Perinci

VERSION

version 0.28

SYNOPSIS

use Perinci::Easy qw(defsub);

# define subroutine, with metadata
defsub
    name        => 'myfunc',
    summary     => 'Does foo to bar',
    description => '...',
    args        => {
        ...
    },
    code        => sub {
        my %args = @_;
        ...
    };

DESCRIPTION

This module provides some easy shortcuts.

FUNCTIONS

defsub

SEE ALSO

Perinci

DESCRIPTION

This module has Rinci metadata.

FUNCTIONS

None are exported by default, but they are exportable.

defsub() -> [status, msg, result, meta]

Define a subroutine.

This is just a shortcut to define subroutine and meta together so instead of:

our %SPEC;
$SPEC{foo} = {
    v => 1.1,
    summary => 'Blah ...',
};
sub foo {
    ...
}

you write:

defsub name=>'foo', summary=>'Blah ...',
    code=>sub {
        ...
    };

No arguments.

Return value:

Returns an enveloped result (an array). First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (result) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information.

AUTHOR

Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Steven Haryanto.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.