| =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 |