logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

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.

Name

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

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.

perl v5.36.0                                       2023-01-24                          IO::Handle::Iterator(3pm)

Synopsis

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

See Also