나는 누군가가 도울 수 있기를 바라고있다.Perl - 가변 깊이의 해쉬 참조 구조
이(시대의 두 누락주의) :
BOY Fred Smith 56
BOY David Jones 18
GIRL Anne Roberts
BOY Fred Andrews
GIRL Hannah Williams 27
내가 해시/해시 참조 데이터로 텍스트 파일을 읽을 수
나는 탭으로 구분 된 텍스트 파일이 FILE.txt
라는이 구조 (아래 표시되는 내용과 같은) :
open my $f, '<', 'FILE.txt';
my $details;
while (<$f>) {
chomp;
my ($gender, $firstName, $middleName, $lastName, $age) = split("\t");
$details->{$gender}->{$firstName}->{$lastName} = "$age";
}
- 이 구조 BECA을 할 수있는 올바른 방법인가 때로는 텍스트 파일에 나이가 없을 수도 있습니다.
이 해시/해시 참조 구조를 사용하여 사람들의 세부 정보를 인쇄하고 싶지만 사람들 중 일부는 연령이 없기 때문에 인쇄합니다. 이것은 해시 값과 단위 화 된 값 등에서 빈 값에 문제를 일으 킵니다.
{
BOY => { David => { Jones => 18 }, Fred => { Andrews => "", Smith => 56 } },
GIRL => { Anne => { Roberts => "" }, Hannah => { Williams => 27 } },
}
- 어떻게 사람이 나이가
FILE.txt
에 지정하지 않는 인스턴스를 수용 할 : 여기 는 생산 데이터입니까? - 가변 깊이의 데이터 구조를 올바르게 작성한 다음 올바르게 액세스하려면 어떻게해야합니까?
고정/알려진 깊이의 해시/해시 참조의 다른 부분을 만들고 액세스하는 방법을 알고 있지만 데이터 구조가 다른 깊이를 가질 수있을 때이를 수행하는 가장 좋은 방법은 무엇입니까?
당신의 도움이 많이 감사
연령대는 모두 같은 깊이이지만 때로는 비어 있습니다. – Barmar
@Barmar - 비어 있어도 괜찮습니다. 가장 좋은 방법은 무엇입니까? –
키에 중요한 데이터가 있으므로이 데이터는 모범 사례처럼 보입니다. 빈 값을 저장하지 않으면 이름이 손실됩니다. 이러한 빈 값을 처리하는 방법은 나머지 응용 프로그램이 수행하는 작업에 따라 다릅니다. – Barmar