CPAN::Meta::YAML(3pm) Perl Programmers Reference Guide CPAN::Meta::YAML(3pm)

# [NAME](#NAME)

CPAN::Meta::YAML - Read and write a subset of YAML for CPAN Meta files

# [VERSION](#VERSION)

version 0.020

# [SYNOPSIS](#SYNOPSIS)

```
    use CPAN::Meta::YAML;
    # reading a META file
    open $fh, "<:utf8", "META.yml";
    $yaml_text = do { local $/; <$fh> };
    $yaml = CPAN::Meta::YAML->read_string($yaml_text)
      or die CPAN::Meta::YAML->errstr;
    # finding the metadata
    $meta = $yaml->[0];
    # writing a META file
    $yaml_text = $yaml->write_string
      or die CPAN::Meta::YAML->errstr;
    open $fh, ">:utf8", "META.yml";
    print $fh $yaml_text;
```

# [DESCRIPTION](#DESCRIPTION)

This module implements a subset of the YAML specification for use in reading and writing CPAN metadata files like *META.yml* and *MYMETA.yml*. It should not be used for any other general YAML parsing or generation task.

NOTE: *META.yml* (and *MYMETA.yml*) files should be UTF-8 encoded. Users are responsible for proper encoding and decoding. In particular, the "read" and "write" methods do **not** support UTF-8 and should not be used.

# [SUPPORT](#SUPPORT)

This module is currently derived from YAML::Tiny by Adam Kennedy. If there are bugs in how it parses a particular META.yml file, please file a bug report in the YAML::Tiny bugtracker: &lt;https://github.com/Perl-Toolchain-Gang/YAML-Tiny/issues&gt;

# [SEE ALSO](#SEE_ALSO)

YAML::Tiny, YAML, YAML::XS

# [AUTHORS](#AUTHORS)

- Adam Kennedy &lt;adamk@cpan.org&gt;
- David Golden &lt;dagolden@cpan.org&gt;

# [CONTRIBUTOR](#CONTRIBUTOR)

Karen Etheridge &lt;ether@cpan.org&gt;

# [COPYRIGHT AND LICENSE](#COPYRIGHT_AND_LICENSE)

This software is copyright (c) 2010 by Adam Kennedy.

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

2026-10-26 perl v5.44.0

---

Document: CPAN::Meta::YAML(3pm) from perl 5.44.0-r3 (Chainguard OS)
Source: https://github.com/Perl/perl5.git
