```{index} single: TAP::Parser::YAMLish::Writer ``` # TAP::Parser::YAMLish::Writer Write YAMLish data ## VERSION Version 3.52 ## SYNOPSIS ```perl 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` ```perl my $writer = TAP::Parser::YAMLish::Writer->new; ``` The constructor `new` creates and returns an empty `TAP::Parser::YAMLish::Writer` object. ### Instance Methods #### `write` ```perl $writer->write($obj, $output ); ``` Encode a scalar, hash reference or array reference as YAML. ```perl 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, ## SEE ALSO [YAML::Tiny](https://metacpan.org/pod/YAML::Tiny), [YAML](https://metacpan.org/pod/YAML), [YAML::Syck](https://metacpan.org/pod/YAML::Syck), [Config::Tiny](https://metacpan.org/pod/Config::Tiny), [CSS::Tiny](https://metacpan.org/pod/CSS::Tiny), [http://use.perl.org/~Alias/journal/29427](http://use.perl.org/~Alias/journal/29427) ## COPYRIGHT 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.