【发布时间】:2015-02-05 14:25:03
【问题描述】:
我有一个嵌套的 for 循环,我想在 for 循环中只打印一次语句。如果您看到第 4 个 if 语句“if(@arrayTB[$num] ne @arraynew[$num1])”,它打印的次数超过了所需的次数。我正在写入 CSV 文件,但我无法使用 CSV 模块来执行此操作,因为我的主管告诉我不要这样做。我希望循环比较文件中所有可能的目标分支(TB),如果找不到,则打印 3 个空格。现在它每次进行比较时都会打印 3 个空格。关于如何解决此问题的任何建议?
for (my $num = 0; $num <= $lengthTB; $num = $num + 2)
{
for (my $num1 = 0; $num1 <= $lengthTBresult; $num1++)
{
if(@arrayTB[$num] eq @arrayTBresult[$num1])
{
if (@arraybaseline[$num1] eq "null")
{
print OutFile qq|,@arrayCPnew[$num1],@status[1]|;
}
if (@arraybaseline[$num1] ne "null")
{
print OutFile qq|,@arrayCPnew[$num1],@status[0]|;
}
}
if (@arrayTB[$num] ne @arraynew[$num1]) #if(exists $noTBs{$num})
{
$counter++;
print OutFile qq|,"",""|;
}
}
}
【问题讨论】: