在一行中汇总哈希的多个键

时间:2013-08-08 14:52:24

标签: perl hash

我需要在一行中对哈希的不同键求和,而不是使用foreach。

如果我有哈希:

%a = (
 a => 4,
 b => 3,
 c => 7,
 d => 2,
 e => 4
);

例如: $ a {a d e} 输出:10

可能或者我需要一个foreach ??

由于

2 个答案:

答案 0 :(得分:5)

可能使用散列切片表示法

use List::Utils 'sum';
$the_sum = sum( @a{"a","d","e"} );

答案 1 :(得分:1)

my $sum = 0;
$sum += $_ for @a{qw( a d e )};

print $sum, "\n";