배열의 해시를 인수로 취하는 서브 루틴을 작성하려고합니다. 그러나 배열 중 하나를 검색하려고하면 배열 자체 대신 배열의 크기를 얻는 것 같습니다.펄에서 서브 루틴으로 전달 된 해시에서 배열을 검색하는 방법
my(%hash) = ();
$hash{"aaa"} = ["blue", 1];
_subfoo("test", %hash);
sub _subfoo {
my($test ,%aa) = @_;
foreach my $name (keys %aa) {
my @array = @{$aa{$name}};
print $name. " is ". @array ."\n";
}
}
이것은 예상 한대로 (파란색, 1) 대신 2를 반환합니다. 서브 루틴에서 해시 배열을 처리하는 다른 방법이 있습니까?
스택 오버플로, 처음 포스터 및 프로그래밍 처음부터 너무 단순한 경우 사과드립니다.
코드의 들여 쓰기가 매우 복잡합니다. vim과 같은 자동 들여 쓰기 기능이있는 적절한 텍스트 편집기를 사용해야합니다. – TLP