在perl脚本中丢失一些值

时间:2016-07-14 18:08:34

标签: perl

我有几个哈希。下面有值

$data->{reports}->{$port}->{tb}->{tb});   
$data->{reports}->{$port}->{tb}->{change});   
$data->{reports}->{$port}->{tb_pbd}->{tb_pbd});   

值为:

$VAR1 = {   
'4|EXPENSES|Net Income' => '8658617.49'   
};   
$VAR1 = {   
'4|EXPENSES|Net Income' => '8728605.17'   
};   
$VAR1 = {
'4|EXPENSES|Net Income' => '-69987.68'   
};   

单独的变量具有值:

$keyee       
value = 1|ASSETS|11240-000  

但是,当我将此值放入所有哈希值时,例如:

$data->{reports}->{$port}->{tb}->{tb}->{$keyee}       

它成了undef。知道为什么以及如何进行治疗?

1 个答案:

答案 0 :(得分:-1)

哈希键只能包含一个值。要存储与单个键关联的多个值,您需要使用数组的哈希值。

代码示例:

my %myhash;
$myhash{'tb'}="val1";
$myhash{'tb'} ="vale2";

在上面的例子中,tb键只有一个值。

现在,如果要同时获取与tb键关联的值,请使用数组的哈希值。 代码示例

push(@{$myhash},"val1");
push(@{$myhash},"val2");

希望上述概念对您有所帮助。

有关数组访问哈希的更多信息:http://docstore.mik.ua/orelly/perl2/prog/ch09_02.htm