|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alex Mikhajlichenko 2:5020/400 05 May 2004 18:32:16 To : All Subject : Объединение вложенных хешей -------------------------------------------------------------------------------- Hi, Есть два хеша хешей хешей... неизвестной заранее вложенности и структуры. Один - это какие-то default-значения, например my %default = (Арбуз=>{Спелость=>100, Полоски=>'зеленые'}) а второй - какие-то новые my %new = (Арбуз=>{Спелость=>200, Семечки=>'черные'}) как мне получить хеш результирующих параметров, где каждое значение будет $result{...}{...} = $new{...}{...} || $default{...}{...} и итог (Арбуз=>{Спелость=>200, Семечки=>'черные', Полоски=>'зеленые'}) то есть смысл в том, чтобы в результирующем хеше были все значения, встречающиеся либо в default либо в new, а если какой-либо ключ встречается и там и там, то должно применяться значение из new. Я придумал делать копию %default, а потом запускать рекурсивный итератор по ветвям new, который определяет, когда он добежал по ветке до скаляра, и вбивает этот ключ в результат. Есть ли более простой способ? -- * --- ifmail v.2.15dev5.3 * Origin: Chereda News Server - http://www.chereda.net/ (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/10211e59b9358.html, оценка из 5, голосов 10
|