NAME¶
Mixin::Linewise::Readers - get linewise readers for strings and filenames
VERSION¶
version 0.106
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
"utf8_strict".
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 "utf8_strict".
Any arguments after $filename are passed along after to "read_handle".
read_string¶
Your::Pkg->read_string($string);
If generated, the "read_string" creates a handle on the given string,
and then calls "read_handle" on the opened handle. Because handles
on strings must be octet-oriented, the string
must contain octets. It
will be opened in the default binmode established by importing. (See
"EXPORTS", above.)
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.