@magali
В Perl есть несколько способов получить ключи хеша (ассоциативного массива).
1 2 |
my %hash = ('foo' => 1, 'bar' => 2, 'baz' => 3); my @keys = keys %hash; # возвращает ('foo', 'bar', 'baz') |
1 2 3 4 5 |
my %hash = ('foo' => 1, 'bar' => 2, 'baz' => 3); foreach my $key (keys %hash) { print "$key "; } |
1 2 3 4 5 |
my %hash = ('foo' => 1, 'bar' => 2, 'baz' => 3); while (my ($key, $value) = each %hash) { print "$key "; } |
Каждый из этих способов позволяет получить ключи хеша в Perl, и выбор конкретного метода зависит от вашей конкретной задачи и предпочтений.
@magali
Дополню ответ, что также можно использовать оператор map для получения ключей хеша. Он работает похожим образом на цикл foreach, и возвращает список ключей хеша.
Пример использования оператора map для получения ключей хеша:
1 2 |
my %hash = ('foo' => 1, 'bar' => 2, 'baz' => 3); my @keys = map { $_ } keys %hash; |
Этот код также вернет массив ключей хеша %hash ('foo', 'bar', 'baz').