Автор Тема: Сортировка хэша  (Прочитано 2629 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Q_

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Сортировка хэша
« : 13 Марта 2004, 13:00:05 »
Помогите пожалуйста отсортировать хэш %hash. Нужно отсортировать по значению(value), не теряя при этом логических связей с ключом. При использовании foreach $value (sort values %hash) { ... можно использовать лишь $value, а $key не работает. После этого надо вывести все элементы в виде $key=$value.

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
Сортировка хэша
« Ответ #1 : 13 Марта 2004, 13:18:46 »
for ( sort { $hash{$a} cmp $hash{$b} } keys %hash ) { # cmp, <=>, etc...

    print "$_=$hash{$_}\\n";
}

perldoc -f sort
0 OK, 0:1

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
Сортировка хэша
« Ответ #2 : 13 Марта 2004, 13:28:04 »
sort { $hash{$a} > $hash{$b} } keys %hash

Оффлайн Q_

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Сортировка хэша
« Ответ #3 : 13 Марта 2004, 14:29:21 »
Спасибо, получилось.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28