如果您尝试从不存在的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