Как я могу отобразить два массива в один хэш Perl? - PullRequest
0 голосов
/ 10 сентября 2018

Я новичок в Perl. Мне нужно понять, как я могу сопоставить один массив (как ключи) другому (как значения), чтобы получить хеш, используя цикл foreach:

@one = ("A", "B", "C");
@two = ("a", "b", "c");

Я написал следующий код, но он не работает, когда я разрезаю хэш ??

%hash;
foreach $i (one) {
  print $i, "=>" , $ii = shift @two, "\n"
}

1 Ответ

0 голосов
/ 10 сентября 2018

Предполагая, что ответ на мой вопрос в комментарии "да", вот несколько подходов.

Дано:

my @one = qw/A B C/;
my @two = qw/1 2 3/;

Использование ломтиков хеша:

my %hash;
@hash{@one} = @two;

Использование модуля List :: MoreUtils из CPAN:

use List::MoreUtils qw/zip/;
my %hash = zip @one, @two;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...