我有这样的代码,我有问题,得到我想要的输出:的Perl - 打印输出后的一个for循环
print OUT1 "$first[0]\t$first[1]\t$first[2]\t";
for my $index1 (3..8)
{
my $ratio1 = sprintf("%.4f%s", $numerator/$denominator,"\t");
#print OUT1 "$ratio1";
$variable1 = "$ratio1"; # problem with this line
}
print OUT1 "$variable1"; # print to textfile
print OUT1 "\n";
我试图打印输出后,运行完成for循环的6倍( 3至8)。这些数据应安排是这样的:
期望输出(例如):
A B C 4 4 4 4 4 4
C D F 2 6 5 8 3 1
G H I 6 1 2 4 7 0
相反,只打印出最后一栏
A B C 4
C D F 1
G H I 0
,所以我加入改变这一行“。”加入6列在一起
$variable1 .= "$ratio1"; # problem with this line
,我得到奇怪的输出是这样的:
A B C 4 4 4 4 4 4
A B C 4 4 4 4 4 4 2 6
A B C 4 4 4 4 4 4 2 6 4
A B C 4 4 4 4 4 4 2 6 4 6
A B C 4 4 4 4 4 4 2 6 4 6 1 ...
这有什么错我的代码什么地方?
你为什么不只是在循环内打印'$比率'? – Barmar