2015-01-26 2 views
1

Я демпинг структуру данных в YAML с YAML::XS библиотеки:заказ Контроль hashref с YAML :: XS

foo => { 
    bar => [ 
     {...}, 
     {...}, 
    ], 
    baz => [ 
     {...}, 
     {...}, 
    ], 
    ... 
} 

Похоже, что поведение YAML :: XS по умолчанию для сортировки ключей перед сбросом их , но это не то, что я хочу. Людям придется читать и редактировать выходные данные этого скрипта, поэтому читаемость вызывает озабоченность. Есть ли способ контролировать порядок сбрасывания ключей, чтобы foo->{baz} приходил до foo->{bar}?

+0

Документы [здесь] (http://search.cpan.org/perldoc?YAML::XS) – ikegami

+2

Вы можете сделать это, используя YAML.pm ['Bless'] (https://metacpan.org/ pod/YAML # Bless-perl-node-yaml-node-class-name), но не уверен, что это возможно с помощью YAML :: XS. – ThisSuitIsBlackNot

+0

@ikegami Я читал, что уже, он не ответил на мой вопрос – Floegipoky

ответ

3

Как вы можете видеть из docs, нет опции, которая настраивает порядок хэшей. Это также подтверждается, глядя на dump_node и dump_hash в LibYAML/perl_libyaml.c.

Смежные вопросы