1
중첩 해시를 사용하는 데이터 구조의 항목을 반복 처리하려고합니다. 이렇게하려면 어떤 키가 있는지보고 싶었습니다.perl에서 해시 해시를 반복하는 중입니다. 이 접근 방식의 문제점은 무엇입니까?
다음은 내가 시도한 것입니다. 그러나 오류가 발생했습니다
my %tgs = (
'articles' => {
'vim' => 'about vim',
'awk' => 'about awk',
'sed' => 'about sed'
},
'ebooks' => {
'linux 101' => 'about linux',
}
);
foreach my $k (keys %tgs){
print $k;
print "\n";
foreach my $k2 (keys %$tgs{$k}){ #<-----this is where perl is having a problem
print $k2;
print "\n";
}
}
syntax error at PATH line #, near "$tgs{"
syntax error at PATH line #, near "}"
Execution of PATH aborted due to compilation errors.
내 접근 방식에있어 문제점이 있습니까? 내 추론은 $ tgs {$ k}가 해시의 참조를 반환하기 때문에, 각 루프마다 참조 할 수 있지만 추측하지는 않습니까?