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

Akzhan Abdulin akzhan.abdulin на gmail.com
Пт Апр 11 12:43:10 PDT 2014


руками

ваш кэп.


11 апреля 2014 г., 22:13 пользователь Nick Knutov <mail на knutov.com> написал:

> Есть 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 mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20140411/6b67d99e/attachment.html>


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