TAP::Parser::YAMLish::Writer(3pm) Perl Programmers Reference Guide TAP::Parser::YAMLish::Writer(3pm)

# [NAME](#NAME)

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

# [VERSION](#VERSION)

Version 3.52

# [SYNOPSIS](#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](#DESCRIPTION)

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

# [METHODS](#METHODS)

## [Class 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](#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](#AUTHOR)

Andy Armstrong, &lt;andy@hexten.net&gt;

# [SEE ALSO](#SEE_ALSO)

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

# [COPYRIGHT](#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.

2026-08-31 perl v5.44.0

---

Document: TAP::Parser::YAMLish::Writer(3pm) from perl 5.44.0-r1 (Chainguard OS)
Source: https://github.com/Perl/perl5.git
