keys

Синтаксис

keys HASH

Описание

Функция возвращает обычный массив, содержащий все ключи указанного хэш-массива. При вызове в скалярном контексте функция возвращает количество ключей хэш-массивов. Ключи возвращаются в случайном порядке, однако этот порядок совпадает с порядком, используемым в values и each. Побочный эффект применения функции заключается в том, что она сбрасывает итератор хэш-массива.
В качестве примера рассмотрим, как распечатать текущее окружение:
@keys = keys %ENV;
@values = values %ENV;
while ($#keys >= 0) {
  print pop(@keys), '=', pop(@values), "\n";
}
А вот как можно провести сортировку по ключам:
foreach $key (sort(keys %ENV)) { print $key, '=', $ENV{$key}, "\n"; }
Для сортировки массива по значениям вы можете использовать функцию sort. А вот так проводится числовая сортировка по убыванию значений хэш-массива:
foreach $key (sort { $hash{$b) <=> $hash{$a} } keys %hash)) {
  printf "%4d %s\n", $hash{$key}, $key;
}



2011-04-26 00:53:16 lykich

Thanks




Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: