TAP::Parser::YAMLish::Writer

CONTENTS

NAME

TAP::Parser::YAMLish::Writer - Write YAMLish data

VERSION

Version 3.42

SYNOPSIS

 use TAP::Parser::YAMLish::Writer;
 
 my $data = {
     one => 1,
     two => 2,
     three => [ 1, 2, 3 ],
 };
 
 my $yw = TAP::Parser::YAMLish::Writer->new;
 
 # Write to an array...
 $yw->write( $data, \@some_array );
 
 # ...an open file handle...
 $yw->write( $data, $some_file_handle );
 
 # ...a string ...
 $yw->write( $data, \$some_string );
 
 # ...or a closure
 $yw->write( $data, sub {
     my $line = shift;
     print "$line\n";
 } );

DESCRIPTION

Encodes a scalar, hash reference or array reference as YAMLish.

METHODS

Class Methods

new

my $writer = TAP::Parser::YAMLish::Writer->new;

The constructor new creates and returns an empty TAP::Parser::YAMLish::Writer object.

Instance Methods

write

$writer->write($obj, $output );

Encode a scalar, hash reference or array reference as YAML.

 my $writer = sub {
     my $line = shift;
     print SOMEFILE "$line\n";
 };
 
 my $data = {
     one => 1,
     two => 2,
     three => [ 1, 2, 3 ],
 };
 
 my $yw = TAP::Parser::YAMLish::Writer->new;
 $yw->write( $data, $writer );

The $output argument may be:

  • a reference to a scalar to append YAML to

  • the handle of an open file

  • a reference to an array into which YAML will be pushed

  • a code reference

If you supply a code reference the subroutine will be called once for each line of output with the line as its only argument. Passed lines will have no trailing newline.

AUTHOR

Andy Armstrong, <[email protected]>

SEE ALSO

YAML::Tiny, YAML, YAML::Syck, Config::Tiny, CSS::Tiny, http://use.perl.org/~Alias/journal/29427

Copyright 2007-2011 Andy Armstrong.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.

© 1993–2020 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.28.3/TAP::Parser::YAMLish::Writer