View on
MetaCPAN
search.cpan.org is shutting down
For details read Perl NOC. After June 25th this page will redirect to MetaCPAN.org
perlancar > Perinci-Examples > Perinci::Examples::Stream

Download:
Perinci-Examples-0.80.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.80   Source  

NAME ^

Perinci::Examples::Stream - Examples for streaming input/output

VERSION ^

This document describes version 0.80 of Perinci::Examples::Stream (from Perl distribution Perinci-Examples), released on 2017-07-11.

DESCRIPTION ^

This package contains functions that demonstrate streaming input/output.

FUNCTIONS ^

count_ints

Usage:

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

This function accepts a stream of integers and return the number of integers input.

This function is not exported.

Arguments ('*' denotes required arguments):

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.

Return value: (any)

count_lines

Usage:

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

Count number of lines in the input.

This function is not exported.

Arguments ('*' denotes required arguments):

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.

Return value: (any)

count_words

Usage:

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

This function receives a stream of words and return the number of words.

Input validation will check that each record from the stream is a word.

This function is not exported.

Arguments ('*' denotes required arguments):

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.

Return value: (any)

produce_hashes

Usage:

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

This function produces a stream of hashes.

This function is not exported.

Arguments ('*' denotes required arguments):

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.

Return value: (array[hash])

produce_ints

Usage:

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

This function produces a stream of integers, starting from 1.

This function is not exported.

Arguments ('*' denotes required arguments):

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.

Return value: (array[int])

produce_words

Usage:

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

This function produces a stream of random words.

This function is not exported.

Arguments ('*' denotes required arguments):

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.

Return value: (array[str])

produce_words_err

Usage:

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

Like `produce_words()`, but 1 in every 10 words will be a non-word (which fails the result schema).

This function is not exported.

Arguments ('*' denotes required arguments):

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.

Return value: (array[str])

square_nums

Usage:

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

This function squares its stream input.

This function is not exported.

Arguments ('*' denotes required arguments):

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.

Return value: (array[float])

square_nums_from_file

Usage:

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

This function squares its stream input.

This function is not exported.

Arguments ('*' denotes required arguments):

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.

Return value: (array[float])

square_nums_from_stdin

Usage:

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

This function squares its stream input.

This function is not exported.

Arguments ('*' denotes required arguments):

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.

Return value: (array[float])

square_nums_from_stdin_or_file

Usage:

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

This function squares its stream input.

This function is not exported.

Arguments ('*' denotes required arguments):

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.

Return value: (array[float])

wc

Usage:

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

Count the number of lines/words/characters of input, like the "wc" command.

This function is not exported.

Arguments ('*' denotes required arguments):

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.

Return value: (hash)

wc_keys

Usage:

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

Count the number of keys of each hash.

This is a simple demonstration of accepting a stream of hashes. In command-line application this will translate to JSON stream.

This function is not exported.

Arguments ('*' denotes required arguments):

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.

Return value: (hash)

HOMEPAGE ^

Please visit the project's homepage at https://metacpan.org/release/Perinci-Examples.

SOURCE ^

Source repository is at https://github.com/perlancar/perl-Perinci-Examples.

BUGS ^

Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Perinci-Examples

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

AUTHOR ^

perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2017, 2016, 2015, 2014, 2013, 2012, 2011 by perlancar@cpan.org.

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

syntax highlighting: