检查Perl哈希中键/值的存在

如果您尝试从不存在的Perl中的哈希访问键/值对,则通常会得到未定义的值,并且如果打开了警告,则将在运行时生成警告。您可以通过使用exist函数解决此问题,如果命名键存在,则返回true,而不管其值可能是什么-

示例

#!/usr/bin/perl
%data = ('John Paul' => 45, 'Lisa' => 30, 'Kumar' => 40);
if( exists($data{'Lisa'} ) ) {
   print "Lisa is $data{'Lisa'} years old\n";
} else {
   print "I don't know age of Lisa\n";
}

在这里,我们介绍了IF ... ELSE语句,将在单独的章节中进行研究。现在,您仅假设if(condition)部分仅在给定条件为true时执行,否则else部分将执行。因此,当我们执行上述程序时,它会产生以下结果,因为此处存在给定条件($data {'Lisa'}返回true-

输出结果

Lisa is 30 years old