%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
use strict; use warnings;
package YAML::Any;
our $VERSION = '1.24';
use Exporter ();
@YAML::Any::ISA = 'Exporter';
@YAML::Any::EXPORT = qw(Dump Load);
@YAML::Any::EXPORT_OK = qw(DumpFile LoadFile);
my @dump_options = qw(
UseCode
DumpCode
SpecVersion
Indent
UseHeader
UseVersion
SortKeys
AnchorPrefix
UseBlock
UseFold
CompressSeries
InlineSeries
UseAliases
Purity
Stringify
);
my @load_options = qw(
UseCode
LoadCode
Preserve
);
my @implementations = qw(
YAML::XS
YAML::Syck
YAML::Old
YAML
YAML::Tiny
);
sub import {
__PACKAGE__->implementation;
goto &Exporter::import;
}
sub Dump {
no strict 'refs';
no warnings 'once';
my $implementation = __PACKAGE__->implementation;
for my $option (@dump_options) {
my $var = "$implementation\::$option";
my $value = $$var;
local $$var;
$$var = defined $value ? $value : ${"YAML::$option"};
}
return &{"$implementation\::Dump"}(@_);
}
sub DumpFile {
no strict 'refs';
no warnings 'once';
my $implementation = __PACKAGE__->implementation;
for my $option (@dump_options) {
my $var = "$implementation\::$option";
my $value = $$var;
local $$var;
$$var = defined $value ? $value : ${"YAML::$option"};
}
return &{"$implementation\::DumpFile"}(@_);
}
sub Load {
no strict 'refs';
no warnings 'once';
my $implementation = __PACKAGE__->implementation;
for my $option (@load_options) {
my $var = "$implementation\::$option";
my $value = $$var;
local $$var;
$$var = defined $value ? $value : ${"YAML::$option"};
}
return &{"$implementation\::Load"}(@_);
}
sub LoadFile {
no strict 'refs';
no warnings 'once';
my $implementation = __PACKAGE__->implementation;
for my $option (@load_options) {
my $var = "$implementation\::$option";
my $value = $$var;
local $$var;
$$var = defined $value ? $value : ${"YAML::$option"};
}
return &{"$implementation\::LoadFile"}(@_);
}
sub order {
return @YAML::Any::_TEST_ORDER
if @YAML::Any::_TEST_ORDER;
return @implementations;
}
sub implementation {
my @order = __PACKAGE__->order;
for my $module (@order) {
my $path = $module;
$path =~ s/::/\//g;
$path .= '.pm';
return $module if exists $INC{$path};
eval "require $module; 1" and return $module;
}
croak("YAML::Any couldn't find any of these YAML implementations: @order");
}
sub croak {
require Carp;
Carp::croak(@_);
}
1;