Mixin::Linewise::Writers - get linewise writers for strings and filenames
version 0.108
package Your::Pkg; use Mixin::Linewise::Writers -writers; sub write_handle { my ($self, $data, $handle) = @_; $handle->print("datum: $_\n") for @$data; }
Then:
use Your::Pkg; Your::Pkg->write_file($data, $filename); Your::Pkg->write_string($data, $string); Your::Pkg->write_handle($data, $fh);
write_file and write_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.
write_file
write_string
Both can be generated with the option "method" which requests that a method other than "write_handle" is called with the created IO::Handle.
If given a "binmode" option, any write_file type functions will use that as an IO layer, otherwise, the default is encoding(UTF-8).
encoding(UTF-8)
use Mixin::Linewise::Writers -writers => { binmode => "raw" }; use Mixin::Linewise::Writers -writers => { binmode => "encoding(iso-8859-1)" };
Your::Pkg->write_file($data, $filename); Your::Pkg->write_file($data, $options, $filename);
This method will try to open a new file with the given name. It will then call write_handle with that handle.
write_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).
$filename
binmode
use
Any arguments after $filename are passed along after to write_handle.
my $string = Your::Pkg->write_string($data); my $string = Your::Pkg->write_string(\%option, $data);
write_string will create a new handle on the given string, then call write_handle to write to that handle, and return the resulting string. Because handles on strings must be octet-oriented, the string will contain octets. It will be opened in the default binmode established by importing. (See "EXPORTS", above, and the options, below.)
Any arguments after $data are passed along after to write_handle.
$data
Like write_file, this method can take a leading hashref with one valid argument: binmode.
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.