【发布时间】:2016-05-20 23:41:27
【问题描述】:
所以我有一个单词数组(foo,bar,baz,hello),我想计算另一个数组(foo,foo,bar,bar,bar,baz,baz)中出现的次数,然后创建一个哈希将单词作为键,将出现次数作为值,如果在另一个数组中找不到该单词,则输出应为 0,我的代码:
my @array1 = ("foo","bar", "baz", "hey");
my @array2 = ("foo", "foo", "bar", "bar", "bar", "baz", "baz");
my %hash;
foreach my $count (@array2){
$hash{$count}++;
}
for my $key (sort keys %hash) {
print "$key = $hash{$key}\n";
}
这个输出将是
foo = 2
bar = 3
baz = 2
如何使用@array1 计算其元素在@array2 中的出现次数,以便提供输出:
foo = 2
bar = 3
baz = 2
hey = 0
以便我可以将新元素添加到 @array1 以供将来进行比较操作?因为我当前的解决方案无法扩展,因为@array2 的内容是从文本文件中提取的。
【问题讨论】:
-
上面代码中的小错误:
$hash{$count]++应该是$hash{$count}++注意右大括号