[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