嗨,我是一个新手perl学习者这个简单的perl程序
$inputline= <STDIN>;
print "first input";
print( $inputline);
$inputline=<STDIN>;
print "second input";
print($inputline);
$sum= $inputline+$inputline;
print"sum 1stinput and 2ndinput";
print($sum);
Run Code Online (Sandbox Code Playgroud)
产量
perl count.pl
3
4
first input3
second input4
sum 1stinput and 2ndinput : 8
Run Code Online (Sandbox Code Playgroud)
为什么输出8而不是7?
因为你$inputline是自己添加的4.
如果要对两个输入求和,则必须使用两个变量,或者在变量更改之前执行加法.例如:
my $input1 = <>;
my $input2 = <>;
my $sum = $input1 + $input2;
print "Sum: $sum";
Run Code Online (Sandbox Code Playgroud)
要么
my $input = <>;
my $sum = $input;
$input = <>;
$sum += $input;
print "Sum: $sum";
Run Code Online (Sandbox Code Playgroud)
你可以做一些更简单的事情,例如:
perl -nlwe '$sum += $_; print "Sum: $sum";'
Run Code Online (Sandbox Code Playgroud)
这基本上相当于:
use strict;
use warnings; # always use these
my $sum;
while (<>) { # your input
$sum += $_;
print "Sum: $sum\n";
}
Run Code Online (Sandbox Code Playgroud)
使用Ctrl-C或Ctrl-D打开循环(在Windows中为Ctrl-Z).
你使用变量$ intputline两次.第二次引用它时,它会覆盖以前的值.您需要为每个变量使用唯一的变量名称:
$inputline1= <STDIN>;
print "first input";
print( $inputline1);
$inputline2=<STDIN>;
print "second input";
print($inputline2);
$sum= $inputline1+$inputline2;
print"sum 1stinput and 2ndinput";
print($sum);
Run Code Online (Sandbox Code Playgroud)