【发布时间】:2014-11-11 05:00:36
【问题描述】:
我在回调中返回了一个变量 $breed,我正在检查我以前是否见过它,如果没有,则通过执行以下操作将其存储在 %hash 中:
if (exists $hash{$breed}) {
#exists
} else {
#add it
$hash{$breed};
}
现在,因为我想在单独的哈希中跟踪这些独特的 $breeds,所以我创建了另一个哈希来保留新的哈希名称
%hashnames =(cats => 'cathash',
dogs => 'doghash');
my %cathash = ();
my %doghash = ();
由于我也从回调中返回了 $species,我知道我可以进行查找以获取我应该添加 $breed 的正确哈希:
$hashnames {$species}
我认为类似以下的内容可以,但事实并非如此:
if (exists ${$hashnames {$species}}{$breed}){
#exists
}else{
#add it
${$hashnames {$species}}{$breed};
}
实际上,有数百个物种和品种。这可能吗?也许我做错了?谢谢。
【问题讨论】: