# phpman > perldoc > YAML::Any

## NAME
    [YAML::Any](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AAny/markdown) - Pick a YAML implementation and use it.

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

## SYNOPSIS
        use [YAML::Any](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AAny/markdown);
        $[YAML::Indent](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AIndent/markdown) = 3;
        my $yaml = Dump(@objects);

## DESCRIPTION
    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](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AAny/markdown) will choose the first one of these YAML implementations that is installed
    on your system:

    *   [YAML::XS](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AXS/markdown)

    *   [YAML::Syck](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3ASyck/markdown)

    *   [YAML::Old](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AOld/markdown)

    *   YAML

    *   [YAML::Tiny](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3ATiny/markdown)

## OPTIONS
    If you specify an option like:

        $[YAML::Indent](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AIndent/markdown) = 4;

    And [YAML::Any](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AAny/markdown) is using [YAML::XS](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AXS/markdown), it will use the proper variable: $[YAML::XS::Indent](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AXS%3A%3AIndent/markdown).

## SUBROUTINES
    Like all the YAML modules that [YAML::Any](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AAny/markdown) uses, the following subroutines are exported by
    default:

    *   Dump

    *   Load

    and the following subroutines are exportable by request:

    *   DumpFile

    *   LoadFile

## METHODS
    [YAML::Any](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AAny/markdown) provides the following class methods.

    "[YAML::Any](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AAny/markdown)->order"
        This method returns a list of the current possible implementations that [YAML::Any](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AAny/markdown) will
        search for.

    "[YAML::Any](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AAny/markdown)->implementation"
        This method returns the implementation the [YAML::Any](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AAny/markdown) will use. This result is obtained by
        finding the first member of [YAML::Any](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AAny/markdown)->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](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AAny/markdown) 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](https://www.chedong.com/phpMan.php/perldoc/YAML%3A%3AAny/markdown) 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'
        $

## AUTHOR
    Ingy döt Net <<ingy@cpan.org>>

## COPYRIGHT
    Copyright 2001-2014. Ingy döt Net

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

    See <<http://www.perl.com/perl/misc/Artistic.html>>

