Mixin::Linewise::Writers(3) 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;


  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.

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)" };


  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".


  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".

Like "write_file", this method can take a leading hashref with one valid argument: "binmode".


Ricardo SIGNES <[email protected]>


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.