我正在读取文件。我想要一个散列,它给出了一行的第一个数字,作为将其余行的所有数字散列为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})
或者我应该先检查第一个键。然后检查第二个关键
'%第二= {对{$第一}};'看起来像一个错字:无印记前'对' – toolic
抱歉意外删除时发布。我正在改变变量的名字。问题依旧。 – user1645240