| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Обьединить все ветки хеша и создать дерево |
| Автор: AlexanderI 13.2.2015, 13:52 | ||
| Здравствуйте. Помогите правильно обьединить и создать хэш из другого хеша. Есть такая структура (сделана через dump::dumper): Каждый лист этого дерева расписан от корня.
Нужно совместить все уровни, чтобы не было повторений, верхних уровней. Чтобы получилось одно единственное дерево. Например имеется 2 одинаковых дерева "Магазин", всё что одинаковое обьединяется в массив. Должно получиться что-то подобное: [{ 'name' => "Магазин", 'sub' => [{ 'name' => 'Универсам', 'sub' =>[{ ..... }] }, { 'name' => 'Радуга', 'sub' =>[{ ....... }] }, ] }] |
| Автор: arto 13.2.2015, 14:23 |
| сделайте сначала hash по name |
| Автор: AlexanderI 13.2.2015, 14:49 |
| arto, никак не могу придумать как. |
| Автор: arto 16.2.2015, 09:51 |
| my $name = delete $_->{'name'}; $_->{'name'} = delete $_->{'val'}; push @{ $hh->{ $name } }, $_; |