ハッシュのハッシュを逆参照して、サブルーチンで使用できるようにする方法を知っている人はいますか。ご覧のとおり、サブルーチン内のHashofHashesデータ構造にアクセスできません。
my $HoH_ref = \%HoH; # reference the hash of hashes
for(@sorted) {
print join("\t", $_, get_num($_, $HoH_ref))
}
sub get_num {
my ($foo) = shift;
my $HoH_ref = shift;
my %HoH = %{$HoH_ref}; # dereference the hash of hashes
my $variable = %HoH{$foo}{'name'};
# do stuff
return;
}
%HoH{$protein}{'degree'}
最後から2番目の行の近くで構文エラーが発生し%HoH{
、ハッシュのハッシュが$protein
からのキーを認識していません%HoH
。エラーメッセージが表示されます:Global symbol "$protein" requires explicit package name
。ありがとう