我在Perl中执行一个程序,用户输入两个数字,它将显示数字的加法,减法,乘法和除法的结果.它正确显示输出,但即使没有新行字符,它也会将所有内容放入新行.我有一个让它不与用户名合并.
print "What is the first number? ";
$num1 = <>;
print "What is the second number? ";
$num2 = <>;
$add = $num1 + $num2;
$sub = $num1 - $num2;
$mult = $num1 * $num2;
$div = $num1 / $num2;
print "$num1 + $num2 = $add ";
print "$num1 - $num2 = $sub ";
print "$num1 * $num2 = $mult ";
print "$num1 / $num2 = $div ";
print "\n";
Run Code Online (Sandbox Code Playgroud)
怎么了?
您从中获得的输入字符串<>包括用户在输入结尾处键入的换行符.
使用像这样的字符串进行简单的算术运算正常:Perl将忽略数字末尾的空格.但是如果您不希望它在打印时出现,则必须先将其删除.
最好的方法是chomp,如果它在那里,将从字符串的末尾删除输入行终止符,否则保持不变.
这个成语是
chomp($num1 = <>);
Run Code Online (Sandbox Code Playgroud)