해시의 해시 해시 값 (끝이없는 값)을 CSV로 인쇄하려고합니다.[해시] * 해시의 해시를 인쇄하는 방법 perl의 CSV로 *
나는 가장 깊은 해시 키가 숫자 스칼라를 가리키는 곳인 foos, bars, cars ...의 구조를 가지고 있다고 상상해보십시오.
내가 같이이 구조를 인쇄 할 : 당신이 해시 구조의 깊이를 인식하지있을 때
foo1;bar1;car1;345
foo1;bar1;car2;25347
foo1;bar2;car1;23
foo2;bar1;car1;863
......
......
아무도,이 작업을 수행하는 방법을 알고 있나요 (도 추가가있을 수 화성과 전쟁 등)?
지금까지 어떤 시도를 했습니까?
sub print_csv {
my $subj = shift;
if (ref($subj) eq "HASH") {
for (keys $subj) {
print "$_;";
print_csv($subj->{$_});
}
}
else {
print "$subj\n";
}
}
이것은 일반적인 생각이지만 처음부터 해시의 키는 반복되지 않습니다.
미리 감사드립니다.
편집
저는 이미 perl 5.14를 사용하고 있습니다. 내 문제는 해시 키가 처음 나타난 후에 반복되지 않는다는 것입니다. 내 전류 출력은 다음과 같습니다
foo1;bar1;4
foo2;bar2;12060
bar3;24
bar1;152
foo3;bar3;1
bar1;815
에서는 foo2는 3 개의 바 (BAR1, 바 2, 왈져)을 가지고 있지만 그것은 foo3와 동일합니다 라인 3과 4에서 반복되지 않는 이름 '에서는 foo2 "입니다. 나는 이것이 당신이 원하는 생각, 그것은 두 개의 바 (BAR1 및 왈져)를 가지고 있지만, 이름이 "foo3은"6
,'keys' 행복 대신 해시의 hashref을 받아들입니다. 업그레이드를 고려해야합니다. – Borodin