diff options
Diffstat (limited to 'lib/YAML/Any.pod')
-rw-r--r-- | lib/YAML/Any.pod | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/lib/YAML/Any.pod b/lib/YAML/Any.pod new file mode 100644 index 0000000..d5b821c --- /dev/null +++ b/lib/YAML/Any.pod @@ -0,0 +1,165 @@ +=pod + +=for comment +DO NOT EDIT. This Pod was generated by Swim v0.1.39. +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 |