我正在尝试使用for
循环进行计算,然后将结果推送到数组中。这是我尝试使用的脚本部分:
my @deltaX;
for my $one (@protx) {
for my $two (@lipidx) {
my $deltadX = $one - $two;
push @deltaX, $deltadX;
}
}
print "@deltaX \n";
当我这样做时,似乎没有任何事情发生,我的电脑说perl
正在运行,但没有输出或警告。
另一方面,当我在for循环中打印数组内容时,它似乎可以工作:
my @deltaX;
for my $one (@protx) {
for my $two (@lipidx) {
my $deltadX = $one - $two;
push @deltaX, $deltadX;
print "@deltaX \n";
}
}
当print
超出外部循环时,如何才能使这项工作?
答案 0 :(得分:0)
为了向您保证您的代码正在运行并且实际上正在执行某些操作,您可以打印一些进度点。每次将10,000个项目推送到数组时,此示例都会打印一个点,并且每100个点启动一个换行符。
my @deltaX;
for my $one (@protx) {
for my $two (@lipidx) {
my $deltadX = $one - $two;
push @deltaX, $deltadX;
print '.' unless @deltaX % 10_000;
print "\n" unless @deltaX % 1_000_000;
}
}
print "@deltaX \n";