Mixin::Linewise::Readers(3)

NAME
Mixin::Linewise::Readers - get linewise readers for strings and filenames

VERSION
version 0.102

SYNOPSIS
  package Your::Pkg;
  use Mixin::Linewise::Readers -readers;

  sub read_handle {
    my ($self, $handle) = @_;

    LINE: while (my $line = $handle->getline) {
      next LINE if $line =~ /^#/;

      print "non-comment: $line";
    }
  }

Then:

  use Your::Pkg;

  Your::Pkg->read_file($filename);

  Your::Pkg->read_string($string);

  Your::Pkg->read_handle($fh);

EXPORTS
"read_file" and "read_string" are exported by default. Either can be requested individually, or renamed. They are generated by Sub::Exporter, so consult its documentation for more information.

Both can be generated with the option "method" which requests that a method other than "read_handle" is called with the created IO::Handle.

If given a "binmode" option, any "read_file" type functions will use that as an IO layer, otherwise, the default is "encoding(UTF-8)".

  use Mixin::Linewise::Readers -readers => { binmode => "raw" };
  use Mixin::Linewise::Readers -readers => { binmode => "encoding(iso-8859-1)" };

  read_file
  Your::Pkg->read_file($filename);
  Your::Pkg->read_file($options, $filename);

If generated, the "read_file" export attempts to open the named file for reading, and then calls "read_handle" on the opened handle.

An optional hash reference may be passed before $filename with options. The only valid option currently is "binmode", which overrides any default set from "use" or the built-in "encoding(UTF-8)".

Any arguments after $filename are passed along after to "read_handle".

  read_string
  Your::Pkg->read_string($string);

If generated, the "read_string" creates an IO::String handle from the given string, and then calls "read_handle" on the opened handle.

Any arguments after $string are passed along after to "read_handle".

AUTHOR
Ricardo SIGNES <rjbs@cpan.org>

COPYRIGHT AND LICENSE
This software is copyright (c) 2008 by Ricardo SIGNES.

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