请教关于哈希数组的问题

请教关于哈希数组的问题

偶碰到了一个问题,现定义了一个哈希数组%family{$grand}{$bi}{$sun},然后想判断某一个值(属于bi那一层)是否存在,应该怎么样判断啊?
这样写好像不行       $family{$grand}{'feng'} eq undef
keys %{$family->{$grand}->{'feng'}} eq
if (exists $family{$grand}{'feng'}) { ... }


QUOTE:
原帖由 newfresh 于 2008-3-19 11:13 发表
偶碰到了一个问题,现定义了一个哈希数组%family{$grand}{$bi}{$sun},然后想判断某一个值(属于bi那一层)是否存在,应该怎么样判断啊?
这样写好像不行       $family{$grand}{'feng'} eq undef

exists函数

谢谢各位啦,可是我怎么试都不行啊!不论在数据库中'feng'是否存在,它的判断值都是1,晕啦
贴代码
难道是autovivication


QUOTE:
原帖由 newfresh 于 2008-3-19 11:13 发表
偶碰到了一个问题,现定义了一个哈希数组%family{$grand}{$bi}{$sun},然后想判断某一个值(属于bi那一层)是否存在,应该怎么样判断啊?
这样写好像不行       $family{$grand}{'feng'} eq undef

刚刚验证过了,楼主的做法没问题。
if ($family($grand}{'feng'} eq undef) ...

或者,如果不考虑零和空值的话,可以直接
if (not $family({$grand}{'feng'}) ...
unless ($family({$grand}{'feng'}) ...
%family{$grand}{$bi}{$sun}
這種宣告很奇怪..
一般只會用
my %family = (); ; 宣告...
後面就是樓上寫的那些內容...
明白啦 ,学到不少,再次感谢