【发布时间】:2013-04-13 10:39:37
【问题描述】:
我有以下哈希
my %hash = (
w1 => '0',
e2 => '1',
r1 => '2',
o3 => '1',
h4 => '0',
t5 => '1',
);
我想获取映射到散列中每个值的键的数量。
3 keys map to value 1.
1 key map to value 2.
2 keys map to value 0.
我想在不使用模块中的函数的情况下执行此操作。
我想到的一种方法是遍历哈希值。如果该值有一个键,则增加该键的计数器。问题是事先知道这些值是什么,以便我可以为每个值初始化计数器。可能有一个更简单的解决方案。我认为正则表达式可能会起作用。
尝试 1
my $string;
foreach my $value (value %hash) {
$string = join(",", $value);
}
# count the number of occurrences for each value (separated by commas)
【问题讨论】: