[Moscow.pm] Скопировать хеш поверх другого

Nick Knutov mail на knutov.com
Пт Апр 11 11:13:29 PDT 2014


Есть hashref с некоторыми данными (смысл - значения по умолчанию).
Есть другой hashref с кастомными значениями, которые надо скопировать в
первый хеш,

при этом возможны два варианта:

1) копировать данные из второго хеша в первый, если в нём есть
соответствующая переменная (типа если в обоих хешах есть
$h->{a}->[15]->{b}->[999]->{c}, то взять из второго значение и
скопировать в первый хеш),

2) копировать данные со структурой из второго хеша, даже если подходящей
структуры в первом нет.

Я догадался спросить гугл "perl hash ref deep merge" и нашел Hash::Merge
и Hash::Merge::Simple. Оба, судя по отзывам имеют проблемы, особенно с
контролем зацикливания, которое у меня возможно (например:
$h->[0]{a}=...; $h->{v}[0]=$h->[0]{a}).

Вопрос - чем это лучше делать, кроме этих модулей?

-- 
Best Regards,
Nick Knutov
http://knutov.com
ICQ: 272873706
Voice: +7-904-84-23-130


Подробная информация о списке рассылки Moscow-pm