YAML::PP::Schema::Tie::IxHash - (Deprecated) Schema for serializing ordered hashes
use YAML::PP;
use Tie::IxHash;
my $yp = YAML::PP->new( schema => [qw/ + Tie::IxHash /] );
tie(my %ordered, 'Tie::IxHash');
%ordered = (
U => 2,
B => 52,
);
my $yaml = $yp->dump_string(\%ordered);
# Output:
---
U: 2
B: 52
This is deprecated. See the new option preserve
in YAML::PP.
This schema allows you to dump ordered hashes which are tied to Tie::IxHash.
This code is pretty new and experimental.
It is not yet implemented for loading yet, so for now you have to tie the hashes yourself.
Examples:
# Code
tie(my %order, 'Tie::IxHash');
%order = (
U => 2,
B => 52,
c => 64,
19 => 84,
Disco => 2000,
Year => 2525,
days_on_earth => 20_000,
);
\%order;
# YAML
---
U: 2
B: 52
c: 64
19: 84
Disco: 2000
Year: 2525
days_on_earth: 20000
# Code
tie(my %order, 'Tie::IxHash');
%order = (
U => 2,
B => 52,
c => 64,
19 => 84,
Disco => 2000,
Year => 2525,
days_on_earth => 20_000,
);
bless \%order, 'Order';
# YAML
--- !perl/hash:Order
U: 2
B: 52
c: 64
19: 84
Disco: 2000
Year: 2525
days_on_earth: 20000
Called by YAML::PP::Schema