IO::Handle::Iterator - Iterator based read handle
IO::Handle::Iterator->new(sub { return $next_line; # or undef on eof });
This class lets you define a read handle with a few fallback methods (like read) using a single callback that behaves like getline.
read
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.
$/
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.
To install IO::Handle::Util, copy and paste the appropriate command in to your terminal.
cpanm
cpanm IO::Handle::Util
CPAN shell
perl -MCPAN -e shell install IO::Handle::Util
For more information on module installation, please visit the detailed CPAN module installation guide.