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
%INCor 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/perluse 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- 100string: Hello
In turn, the following "LoadFile" example, loads the contents from there and accesses them:
#!/usr/bin/perluse 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.plString == 'Hello'$
Releases
9 releases since Debian 6.0 (Squeeze); the text changed 8 times.