从用户输入的数字perl,添加每个数字

时间:2017-12-06 04:13:27

标签: perl

我对perl很新,我知道这不像c ++。所以用户将输入任意长度的数字,我想添加每个数字并打印总和。

#!/usr/bin/perl -w
use strict;
use warnings;

print "Enter a number :";

my $num = <STDIN>;

my @array = $num;
my $sum=0;
for my $arr (@array){

    $sum += $arr;

print $sum;
}

 例如,用户输入1234,总和:10 我得到的实际结果是1234。

2 个答案:

答案 0 :(得分:4)

您需要将输入字符串$num分成不同的数字。尝试将my @array = $num替换为my @array = split //, $num。通过运行perldoc -f split了解更多信息。

在Perl中,字符串和数字都归类为SCALAR s。如果使用算术运算(如+),标量将自动视为数字,因此for循环内的求和将按预期工作。

答案 1 :(得分:2)

你只需要添加两行

use strict;
use warnings;

print "Enter a number :";

my $num = <STDIN>;

#You missed out to remove the entermark at the end
chomp($num); my $newnum = "0";

$newnum += $_  for split//, $num;

print $newnum;
  

注意:我没有覆盖或没有考虑你所遵循的方法,但我只是在perl中做了我所知道的

Further More details