1
我可以操作單個數組元素,並將該數組的引用添加爲散列中的值。簡單。例如,這達到了預期的效果:Perl - 轉換匿名數組
# split the line into an array
my @array = split;
# convert the second element from hex to dec
$array[1] = hex($array[1]);
# now add the array to a hash
$hash{$name}{ ++$count{$name} } = \@array;
我的問題:使用匿名數組可以做同樣的事情嗎?我可以通過執行以下操作來關閉它:
$hash{$name}{ ++$count{$name} } = [ split ];
但是,這不會操縱匿名數組的第二個索引(將十六進制轉換爲十進制)。如果可以做到,怎麼樣?
感謝信鮑羅廷。我想我的問題是 - '$ array'也可以匿名嗎?我現在可以看到它不可能。我也會執行你的建議。乾杯。 – Steve 2013-04-05 01:20:57
$ array是對匿名數組的引用;這有幫助嗎?你可以做$ hash {$ name} {++ $ count {$ name}} = map [$ _-> [0],hex($ _-> [1]),@ $ _ [2。 。$#$ _]],[split];'但是這將是愚蠢的 – ysth 2013-04-05 02:46:12
這是這個主題的另一種變化:'$ hash {$ name} {++ $ count {$ name}} =(map {$ _ - > [1] = hex($ _-> [1]); $ _}([split]))[0];' – imran 2013-04-05 02:49:32