我需要在一行中对哈希的不同键求和,而不是使用foreach。
如果我有哈希:
%a = (
a => 4,
b => 3,
c => 7,
d => 2,
e => 4
);
例如: $ a {a d e} 输出:10
可能或者我需要一个foreach ??
由于
答案 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";