YAML::Any(3pm)

YAML::Any3pm

Pick a yaml implementation and use it.

Usage

    use YAML::Any;
    $YAML::Indent = 3;
    my $yaml = Dump(@objects);

Status

WARNING: This module will soon be deprecated. The plan is that YAML.pm itself will act like an Any module.

Overview

There are several YAML implementations that support the Dump/Load API. This module selects the best one available and uses it.

Order

Currently, YAML::Any will choose the first one of these YAML implementations that is installed on your system:

•

YAML::XS

•

YAML::Syck

•

YAML::Old

•

YAML

•

YAML::Tiny

Options

If you specify an option like:

    $YAML::Indent = 4;

And YAML::Any is using YAML::XS, it will use the proper variable: $YAML::XS::Indent.

Subroutines

Like all the YAML modules that YAML::Any uses, the following subroutines are exported by default:

•

Dump

•

Load

and the following subroutines are exportable by request:

•

DumpFile

•

LoadFile

Methods

YAML::Any provides the following class methods.

"YAML::Any->order"

This method returns a list of the current possible implementations that YAML::Any will search for.

"YAML::Any->implementation"

This method returns the implementation the YAML::Any will use. This result is obtained by finding the first member of YAML::Any->order that is either already loaded in %INC or that can be loaded using "require". If no implementation is found, an error will be thrown.

Examples

DumpFile and LoadFile

Here is an example for "DumpFile":

    #!/usr/bin/perl
    use strict;
    use warnings;
    use YAML::Any qw(DumpFile);
    my $ds =
    {
        array => [5,6,100],
        string => "Hello",
    };
    DumpFile("hello.yml", $ds);

When run, this creates a file called "hello.yml" in the current working directory, with the following contents.

    ---
    array:
    - 5
    - 6
    - 100
    string: Hello

In turn, the following "LoadFile" example, loads the contents from there and accesses them:

    #!/usr/bin/perl
    use strict;
    use warnings;
    use YAML::Any qw(LoadFile);
    my ($ds) = LoadFile("hello.yml");
    print "String == '", $ds->{string}, "'\n";

Assuming "hello.yml" exists, and is as created by the "DumpFile" example, it prints:

    $ perl load.pl
    String == 'Hello'
    $

Releases

9 releases since Debian 6.0 (Squeeze); the text changed 8 times.

  1. 6.0
  2. 7
  3. 8
  4. 9
  5. 10
  6. 11
  7. 12
  8. 13
  9. Arch

Author

Ingy döt Net <[email protected]>

From perl-yaml 1.321-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.