IO::Handle::Iterator.3pm

Langue: en

Version: 2009-09-29 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

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.