blob: 2c66c852693d38dbfd8ececc79299e9a53c0af3f [file] [log] [blame]
=pod
=for comment
DO NOT EDIT. This Pod was generated by Swim v0.1.46.
See http://github.com/ingydotnet/swim-pm#readme
=encoding utf8
=head1 NAME
YAML::Any - Pick a YAML implementation and use it.
=head1 STATUS
WARNING: This module will soon be deprecated. The plan is that YAML.pm itself
will act like an I<Any> module.
=head1 SYNOPSIS
use YAML::Any;
$YAML::Indent = 3;
my $yaml = Dump(@objects);
=head1 DESCRIPTION
There are several YAML implementations that support the Dump/Load API. This
module selects the best one available and uses it.
=head1 ORDER
Currently, YAML::Any will choose the first one of these YAML implementations
that is installed on your system:
=over
=item * YAML::XS
=item * YAML::Syck
=item * YAML::Old
=item * YAML
=item * YAML::Tiny
=back
=head1 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.
=head1 SUBROUTINES
Like all the YAML modules that YAML::Any uses, the following subroutines are
exported by default:
=over
=item * Dump
=item * Load
=back
and the following subroutines are exportable by request:
=over
=item * DumpFile
=item * LoadFile
=back
=head1 METHODS
YAML::Any provides the following class methods.
=over
=item C<< YAML::Any->order >>
This method returns a list of the current possible implementations that
YAML::Any will search for.
=item C<< 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 C<%INC> or that can be loaded using C<require>. If no
implementation is found, an error will be thrown.
=back
=head1 EXAMPLES
=head2 DumpFile and LoadFile
Here is an example for C<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 C<hello.yml> in the current working
directory, with the following contents.
---
array:
- 5
- 6
- 100
string: Hello
In turn, the following C<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 C<hello.yml> exists, and is as created by the C<DumpFile> example,
it prints:
$ perl load.pl
String == 'Hello'
$
=head1 AUTHOR
Ingy döt Net <ingy@cpan.org>
=head1 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 L<http://www.perl.com/perl/misc/Artistic.html>
=cut