| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Сортировка хеша массивов |
| Автор: Suppir 1.9.2011, 15:24 |
| Добрый день! Есть хеш массивов вида: $hash{Иванов} 5, 6, 10 {Петров} 17, 1, 1000 {Кукурузин} 11, 2, 10 Подскажите, как вывести в файл этот хеш с сортировкой фамилий - по алфавиту, а числовых значений - по возрастанию. Т.е. должно получиться: Иванов -> 5, 6, 10 Кукурузин -> 1, 17, 1000 Петров -> 1, 17, 1000 Добавлено @ 15:25 p.s. только, пожалуйста, не в виде однострочника!!! p.p.s. Perl Data Structures Cookbook читал. Там нет такого примера. |
| Автор: arto 1.9.2011, 16:14 |
| однострочник -- самовыражение, остальное -- платная техническая поддежка. |
| Автор: Suppir 1.9.2011, 16:16 |
| arto, давайте однострочник. Как-нибудь попробую разгрести |
| Автор: arto 1.9.2011, 16:42 |
| # perl -C6 -Mutf8 -le '$hash = { ''Иванов'' => [ 5, 6, 10 ], ''Петров'' => [ 17, 1, 1000 ], ''Кукурузин'' => [ 11, 2, 10 ] }; print join "\n", map { "$_: @{[join'', '',sort{$a<=>$b}@{$hash->{$_}}]}" } sort keys %$hash' Иванов: 5, 6, 10 Кукурузин: 2, 10, 11 Петров: 1, 17, 1000 # |
| Автор: Suppir 1.9.2011, 16:52 |
| Спасибо, буду разбираться! |