如果我有一个Perl哈希值,并且我随机生成了一个数值,我怎么能让我的代码检查哈希中是否已经存在随机生成的值?
答案 0 :(得分:1)
检查密钥:
my %foo = ( bar => 1 );
if (exists $foo{foo}) {
print "key foo exists";
}
if (exists $foo{bar}) {
print "key bar exists";
}
此代码将打印
key bar exists
要检查值,首先需要reverse
哈希值。记住哈希是列表,因此如果它们被反转,则所有键都成为值。如果某个值已存在多次,您可能会获得一些数据,但如果您只想知道某个值是否存在,则该值不相关。
my %foo = ( bar => 1, baz => 2, qrr => 1 );
my %reversed = reverse %foo;
if (exists $reversed{1}) {
print "value 1 exists";
}
if (exists $reversed{3}) {
print "value 3 exists";
}
这将打印
value 1 exists