perl 如何判断一个变量是否存在

如题,perl的defined函数来判断一个变量是否为空(言外之意变量已经存在),而不是变量是否存在。那么如何判断一个变量是否存在呢?
又如何判断一个哈希中是否存在一个给定的键?即判断在这个哈希中是否存在以一个给定的变量为键的键值对?
问题有点绕口。。。。第二个问题defined函数是无法做到的吧?

perl使用变量是不需要声明的,所以不存在变量是否存在的问题,只要你在代码里用到了这个变量,它就存在,默认值是undef, defined 是判断变量是否赋值了,即是不是undef,如果想判断哈希中的键值是否存在,可以使用exists $hash{$a},就是判断是不是有这个$a的键值
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-05
Perl的功能强大,对于这两个问题,都能用一句话来表示。
判断一个变量是否为空:
if ($blah != 0 || defined $blah)

判断一个哈希中是否存在一个给定的键:
if ($blah{$foo} ~~ $bar)
相似回答