파일을 읽습니다. 나는 나머지 라인의 모든 번호를 1로 해쉬하는 키의 첫 번째 숫자를 줄 수있는 해쉬를 원한다.Perl 해시 출력 해시
Dumper가 올바르게 인쇄하기 때문에 해시를 올바르게 추가한다고 생각한다. . 그러나 "$ first $ secondID \ n"이 (가) 출력되지 않습니다.
while (<FILE>) {
chomp $_;
if (/(\d+)\t(.+)/) {
$firstNum = $1;
@seconds = split(/\,/,$2);
foreach $following (@seconds) {
$Pairs->{$firstNum}{$following} = 1;
}
foreach $first (sort {$a <=> $b} keys %Pairs) {
print "$first\n";
%second = {$Pairs{$first}};
foreach $secondID (sort {$a <=> $b} keys %second) {
print "$first $secondID\n";
}
}
print Dumper($Pairs);
}
else {
print "ERROR\n";
}
}
은 나중에, 정의 $ 여부 쌍 {$의 NUM1} {$의 NUM2}을보고 내가 찾아하고 싶은 한 쌍의 숫자를 주어진. 쓸 것입니까
if(defined $Pairs{$num1}{$num2})
먼저 첫 번째 키를 확인해야합니까?
%second = %{$Pairs->{$first}};
'% 초 = {쌍 {첫번째 $}} : 더시길를하기 전에
이 프로그램은 의도 한대로 작동하고, 명령 줄 매개 변수로 파일 이름을 기대 '쌍 ' – toolic
게시시 실수로 삭제되었습니다. 나는 변수의 이름을 바꾸고 있었다. 문제가 남아 있습니다. – user1645240