---
name: "Catmandu::Exporter::YAML"
section: "3pm"
platform: "linux"
package: "libcatmandu-perl"
version: "1.2024-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Catmandu::Exporter::YAML"
---

# Catmandu::Exporter::YAML(3pm)

a YAML exporter

## NAME

Catmandu::Exporter::YAML - a YAML exporter

## SYNOPSIS

```
    # From the commandline
    $ catmandu convert JSON --fix myfixes to YAML < /tmp/data.json
    # From Perl
    use Catmandu;
    # Print to STDOUT
    my $exporter = Catmandu->exporter('YAML', fix => 'myfix.txt');
    # Print to file or IO::Handle
    my $exporter = Catmandu->exporter('YAML', file => '/tmp/out.yml');
    my $exporter = Catmandu->exporter('YAML', file => $fh);
    $exporter->add_many($arrayref);
    $exporter->add_many($iterator);
    $exporter->add_many(sub { });
    $exporter->add($hashref);
    printf "exported %d items\n" , $exporter->count;
```

## CONFIGURATION

- file

  Write output to a local file given by its path or file handle.  Alternatively a scalar reference can be passed to write to a string and a code reference can be used to write to a callback function.

- fh

  Write the output to an IO::Handle. If not specified, Catmandu::Util::io is used to create the output handle from the `"file"` argument or by using STDOUT.

- fix

  An ARRAY of one or more fixes or file scripts to be applied to exported items.

- encoding

  Binmode of the output stream `"fh"`. Set to "`":utf8"`" by default.

## SEE ALSO

Catmandu::Exporter, Catmandu::Importer::YAML
