在Perl中创建一个哈希

mac*_*iek 4 perl hash

我有一个初学者的问题:

我有一个@key_table和许多@values_tables.我想创建一个哈希引用的@table,所以有一个表,每个元素指向哈希,其中包含开头提供的那两个表中的键和值.

谁能帮助我?

例如:

@keys = (Kate, Peter, John);
@value1 = (1, 2, 3);
@value2 = (a, b, c);
Run Code Online (Sandbox Code Playgroud)

我想要一个两元素表,指向:

%hash1 = (Kate=>1, Peter=>2, John=>3);
%hash2 = (Kate=>a, Peter=>b, John=>c);
Run Code Online (Sandbox Code Playgroud)

fri*_*edo 6

如果你只想创建两个哈希,那很容易:

my ( %hash1, %hash2 );
@hash1{ @keys } = @value1;
@hash2{ @keys } = @value2;
Run Code Online (Sandbox Code Playgroud)

这利用了散列.

但是,制作一堆数字卡在最后的新变量通常是错误的.如果您希望将这些信息放在一个结构中,则可以使用引用创建嵌套哈希.