# phpman > info > CPAN::Meta::YAML

[CPAN::Meta](https://www.chedong.com/phpMan.php/perldoc/CPAN%3A%3AMeta/markdown)::[YAML(3perl)](https://www.chedong.com/phpMan.php/man/YAML/3perl/markdown)Perl Programmers Reference [GuideCPAN::Meta](https://www.chedong.com/phpMan.php/perldoc/GuideCPAN%3A%3AMeta/markdown)::[YAML(3perl)](https://www.chedong.com/phpMan.php/man/YAML/3perl/markdown)

NAME
       [CPAN::Meta::YAML](https://www.chedong.com/phpMan.php/perldoc/CPAN%3A%3AMeta%3A%3AYAML/markdown) - Read and write a subset of YAML for CPAN Meta files

VERSION
       version 0.018

SYNOPSIS
           use [CPAN::Meta::YAML](https://www.chedong.com/phpMan.php/perldoc/CPAN%3A%3AMeta%3A%3AYAML/markdown);

           # reading a META file
           open $fh, "<:utf8", "META.yml";
           $yaml_text = do { local $/; <$fh> };
           $yaml = [CPAN::Meta::YAML](https://www.chedong.com/phpMan.php/perldoc/CPAN%3A%3AMeta%3A%3AYAML/markdown)->read_string($yaml_text)
             or die [CPAN::Meta::YAML](https://www.chedong.com/phpMan.php/perldoc/CPAN%3A%3AMeta%3A%3AYAML/markdown)->errstr;

           # finding the metadata
           $meta = $yaml->[0];

           # writing a META file
           $yaml_text = $yaml->write_string
             or die [CPAN::Meta::YAML](https://www.chedong.com/phpMan.php/perldoc/CPAN%3A%3AMeta%3A%3AYAML/markdown)->errstr;
           open $fh, ">:utf8", "META.yml";
           print $fh $yaml_text;

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
       This module is currently derived from [YAML::Tiny](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3ATiny/markdown) 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](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3ATiny/markdown) bugtracker:
       <<https://github.com/Perl-Toolchain-Gang/YAML-Tiny/issues>>

SEE ALSO
       [YAML::Tiny](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3ATiny/markdown), YAML, [YAML::XS](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AXS/markdown)

AUTHORS
       o   Adam Kennedy <<adamk@cpan.org>>

       o   David Golden <<dagolden@cpan.org>>

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.

perl v5.34.0                      2025-07-25           [CPAN::Meta](https://www.chedong.com/phpMan.php/perldoc/CPAN%3A%3AMeta/markdown)::[YAML(3perl)](https://www.chedong.com/phpMan.php/man/YAML/3perl/markdown)
