Mixin::Linewise::Readers - get linewise readers for strings and filenames
version 0.105
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);
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.
read_file
read_string
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.
utf8_strict
use Mixin::Linewise::Readers -readers => { binmode => "raw" }; use Mixin::Linewise::Readers -readers => { binmode => "encoding(iso-8859-1)" };
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.
read_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.
$filename
binmode
use
Any arguments after $filename are passed along after to read_handle.
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.
$string
Ricardo SIGNES <rjbs@cpan.org>
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.
To install Mixin::Linewise, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mixin::Linewise
CPAN shell
perl -MCPAN -e shell install Mixin::Linewise
For more information on module installation, please visit the detailed CPAN module installation guide.