У меня есть один массив, который я проверяю для значений в хэше (который я создал).Идея состоит в том, чтобы проверить каждый элемент массива, если он существует в хеш-ключах.Если он не существует, следует сказать, что несуществующий элемент появляется ноль раз.Хеш, который я создал, чтобы посчитать частоту чисел во втором массиве.
Вот что я сделал:
use strict;
use warnings;
sub main {
my @Source = ("A", "B", "D");
my @ArrToHash = ("A", "C", "A", "B", "E", "F");
my %hashy;
++$hashy{$_} for @ArrToHash;
foreach my $e (@Source) {
if (exists $hashy{$e}) {
print "$e are $hashy{$e}\n";
}
}
}
main();
Я получаю
A 2
B 1
В то время как на самом деле я хотел бы:
A - 2
B - 1
D - 0
AnyПодсказка?Как исправить мой код?