Perl:带整数的基本foreach逻辑

时间:2017-05-16 23:39:08

标签: perl foreach

在下面的代码中,我试图编写一个非常简单的foreach数学计算循环。

use strict;  
use warnings;     
my @array = (1..10);  
my $sum = 0;  
foreach my $number (@array) {  
    $sum = $number / 2;  
}  
print "$sum\n"

在我的脑海中,foreach循环应该通过@array中的每个$ number(1-10)计算每个数字除以2.我希望它会通过每个数字的$ sum打印出答案。 10,但我得到答案5.

我的逻辑出了什么问题?

1 个答案:

答案 0 :(得分:1)

您只需要在foreach循环中移动print语句,以便每次循环时都打印出$sum的当前值:

use strict;  
use warnings;     
my @array = (1..10);  
my $sum = 0;  
foreach my $number (@array) {  
  $sum = $number / 2; 
  print "$sum\n"; 
}  

那将输出:

0.5
1
1.5
2
2.5
3
3.5
4
4.5
5

您可以通过以下方式简化程序:

use strict;  
use warnings;
foreach my $number (1..10) {
  print $number/2 , "\n";
}