2014-09-11 84 views
-2

我有一个散列数组,我想改变键值,我该怎么做?如果散列值在数组中,如何访问散列值? PERL

my @AoH =(); 
for (my $i=0; $i < scalar @fileRows; $i++) { 
    my %fields =(); 
    @fields{@wordsAll} = (1) x @wordsAll; #key names are from array 
    push @AoH, {%fields}; 
} 
+1

你能更清楚转换为哈希散列运算每个数组索引..散列参考,请? – ikegami 2014-09-11 12:58:53

+0

btw,'push @AoH,{%fields};'创建一个新的哈希值。你想'推@AoH,\%字段;' – ikegami 2014-09-11 12:59:35

+0

你的目标是什么是完全不清楚的。请编辑该问题以提供更多详细信息,解释您的设置和问题。 – Miller 2014-09-11 17:58:52

回答

1

使用foreach,并得到以你需要将它与%{}

my @AoH =(); 

    foreach my $hash (@AoH){ 
     #edit the hash here 
     $hash->{'key'} = 'value'; 
     my @keys = keys %$hash; 
     my @values = values %$hash; 
    }