해시 값에 액세스하는 데 문제가 있습니다. 무엇이 잘못되었는지 잘 모르겠습니다. Perl은하지만 해시는별로 없습니다.해시 해시의 값에 액세스하기
해시 해시에서 해시 값에 액세스하려고합니다. 내가 아니라 직접 해시 키를 통해 itereting하고 때 목록에 액세스 할 수있는 해시에게
sub buildList
{
my ($name,$gender,$father,$mother,$age);
my %bear_ref=();
open IN, "<input.txt" or die "can't open file";
while(<IN>) {
($name, $gender, $father, $mother, $age) = split(/:/);
$bear_ref{ $name } { 'gender' } = $gender;
$bear_ref{ $name } { 'mother' } = $father;
$bear_ref{ $name } { 'father' } = $mother;
$bear_ref{ $name } { 'age' } = $age;
}
close IN;
return \%bear_ref;
}
을 구축 할 경우 다음
이다. 그래서 나는 어떤 도움을 주시면 감사하겠습니다
for my $name (keys %$ref) {
$father= $ref->{ $name }->{ 'father'}; # works
$mother= $ref->{ $name }->{ 'mother'}; # works
getTree($name, $ref);
}
sub getTree
{
my $bear = shift;
my $ref = shift;
my ($father, $mother);
$father= $ref->{ $name }->{ 'father'}; # doesn't work...have also tried with %$ref->
$mother= $ref->{ $name }->{ 'mother'}; # doesn't work...have also tried with %$ref->
print "$father : $mother\n";
}
내가로부터 값을 받고 있어요 방식 "키() 루프"함께 할 수있는 뭔가가 있으리라 믿고있어.
항상 ['use strict;'] (http://perldoc.perl.org/strict.html) 및 ['경고 사용;] (http://perldoc.perl.org/warnings.html)까지 당신은 그것이 왜 추천되는지 정확하게 알 수 있습니다. –