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

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.
Both can be generated with the option "method" which requests that a method other than "read_handle" is called with the created IO::Handle.
Your::Pkg->read_file($filename);
If generated, the read_file export attempts to open the named file for reading, and then calls read_handle on the opened handle.
Any arguments after $filename are passed along after to read_handle.
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.

Bugs should be reported via the CPAN bug tracker at
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Mixin-Linewise
For other issues, or commercial enhancement or support, contact the author.

Ricardo SIGNES, <rjbs@cpan.org>

Copyright 2008, Ricardo SIGNES.
This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.