NAME¶
Mixin::Linewise::Writers - get linewise writers for strings and filenames
VERSION¶
version 0.106
SYNOPSIS¶
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);
EXPORTS¶
"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.
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)".
use Mixin::Linewise::Writers -writers => { binmode => "raw" };
use Mixin::Linewise::Writers -writers => { binmode => "encoding(iso-8859-1)" };
write_file¶
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.
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
"write_handle".
write_string¶
my $string = Your::Pkg->write_string($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
must
contain octets. It will be opened in the default binmode
established by importing. (See "EXPORTS", above.)
Any arguments after $data are passed along after to "write_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.