The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

blx::xsdsql::ios::istream - generic iterator for string,array,file descriptor or subroutine

SYNOPSIS

use blx::xsdsql::ios::istream

DESCRIPTION

this package is a class - instance it with the method new

VERSION

0.10.0

FUNCTIONS

this module defined the followed functions

new - constructor

    PARAMS:

        INPUT_STREAMER  - an array,string,soubroutine or a file descriptor (default not set)

        MAX_PUSHBACK_SIZE - the max size in characters for the internal buffer used by push_back and the streamer is a file descriptor
                            the default is 0

set_input_descriptor - the first param is a value same as INPUT_STREAMER params: MAX_PUSHBACK_SIZE - equal to same param of the constructor

    the method return the self object

get_chars - the first param is the number of chars to read (default 1)

    on EOF the method return a  null string
    if the first param is == 0 the method return null string
    on error throw an exception

get_char - equivalent to get_chars(1)

get_line - return a line in scalar mode or an array in array mode

    on EOF the method return a  null string
    on error throw an exception
    Note: if INPUT_STREAM is an array the line is an element of the array
    the line has the new line terminator "\n" also the result of <> iterator

push_back - push character into the streamer the first param is a number of characters to push back the default is 1 the metod return the self object

EXPORT

None by default.

EXPORT_OK

<> - same as get_line

:overload - export only the overload methods

WARNING - exist a bug for a call in context list - wantarray is every false Ex: my @a=<$stream> return one line in @a

:all export all

SEE ALSO

Mention other useful documentation such as the documentation of related modules or operating system documentation (such as man pages in UNIX), or any relevant external documentation such as RFCs or standards.

AUTHOR

lorenzo.bellotti, <pauseblx@gmail.com>

COPYRIGHT AND LICENSE

Copyright (C) 2010 by lorenzo.bellotti

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

See http://www.perl.com/perl/misc/Artistic.html