NAME

YAML::PP::Schema::Tie::IxHash - Schema for serializing ordered hashes

SYNOPSIS

use YAML::PP;
use Tie::IxHash;
my $yp = YAML::PP->new( schema => [qw/ JSON Tie::IxHash /] );

tie(my %ordered, 'Tie::IxHash');
%ordered = (
    U => 2,
    B => 52,
);

my $yaml = $yp->dump_string(\%ordered);


# Output:
---
U: 2
B: 52

DESCRIPTION

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:

order
# 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
order_blessed
# 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

METHODS

register

Called by YAML::PP::Schema