YAML::PP::Schema::Tie::IxHash(3) User Contributed Perl Documentation YAML::PP::Schema::Tie::IxHash(3)

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
2024-02-14 perl v5.38.2