我有一个元素数组(@codes),其中一些元素是散列中的值(%records),但是散列中也有不包含在数组(@code)中的值。
有没有一种方法可以计算%记录中的哈希键的数量,其中对应的哈希值是数组@codes的一个元素?如果可能的话,我希望在不迭代循环的情况下完成此操作。谢谢
作为如何使用map执行此操作的示例:
#!/usr/bin/perl
use strict;
use warnings;
my %records = (
'one' => 1,
'two' => 2,
'three' => 3,
);
my @codes = ( 'one', 'three', 'fake' );
my %seen = map { $_ => 1 } @codes;
print scalar grep ( $seen{$_}, keys(%records) );
但不要抱有任何幻想——这仍然是一个循环,它只是隐含在map
函数中。