יובל קוג'מן (Yuval Kogman) > IO-Handle-Util-0.01_01 > IO::Handle::Iterator

Download:
IO-Handle-Util-0.01_01.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Source   Latest Release: IO-Handle-Util-0.01

NAME ^

IO::Handle::Iterator - Iterator based read handle

SYNOPSIS ^

    IO::Handle::Iterator->new(sub {
        return $next_line; # or undef on eof
    });

DESCRIPTION ^

This class lets you define a read handle with a few fallback methods (like read) using a single callback that behaves like getline.

This is similar but much simpler than:

    IO::Handle::Prototype::Fallback->new(
        __read => sub { ... },
    );

The reason being that the IO::Handle::Prototype::Fallback implementation will try its very best to behave correctly (i.e. respect the value of $/), whereas this implementation assumes it's fine to return things that aren't exactly lines from getline, so the values are just passed through.

READ BUFFERING ^

When a method that requires buffering is invoked the handle is reblessed to a subclass which handles buffering.

Calling getline again on this object will return the value of the buffer and return to the normal iterator class.

syntax highlighting: