Steven Haryanto

NAME

Data::Unixish::Apply - Apply one or more dux functions to data

VERSION

version 1.32

SYNOPSIS

 use Data::Unixish::Apply;
 Data::Unixish::Apply::apply(
     in => [1, 4, 2, 6, 7, 10],
     functions => ['sort', ['printf', {fmt=>'%04d'}]],
 ); # will result in [qw/0001 0002 0004 0006 0007 0010/],

DESCRIPTION

AUTHOR

Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 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.

FUNCTIONS

None are exported by default, but they are exportable.

apply(%args) -> [status, msg, result, meta]

Apply one or more dux functions.

Arguments ('*' denotes required arguments):

  • functions* => array|str

    Function(s) to apply.

    A list of functions to apply. Each element is either a string (function name), or a 2-element array (function names + arguments hashref). If you do not want to specify arguments to a function, you can use a string.

    Example:

        [
            'sort', # no arguments (all default)
            'date', # no arguments (all default)
            ['head', {items=>5}], # specify arguments
        ]
  • in* => any

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.