如何将两个数组映射到一个Perl哈希?

Say*_*bry 6 perl

我是perl的新手.我需要了解如何将一个数组(作为键)映射到另一个数组(作为值)以使用foreach循环产生散列:

@one = ("A", "B", "C");
@two = ("a", "b", "c");
Run Code Online (Sandbox Code Playgroud)

我写了下面的代码但是当我切片哈希时它不起作用?

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

Sha*_*awn 14

假设评论中我的问题的答案是"是",这里有几种方法.

鉴于:

my @one = qw/A B C/;
my @two = qw/1 2 3/;
Run Code Online (Sandbox Code Playgroud)

使用哈希切片:

my %hash;
@hash{@one} = @two;
Run Code Online (Sandbox Code Playgroud)

使用CPAN中的List :: MoreUtils模块:

use List::MoreUtils qw/zip/;
my %hash = zip @one, @two;
Run Code Online (Sandbox Code Playgroud)