当脚本中没有下一行字符时,为什么输出转到下一行

时间:2014-06-08 21:29:34

标签: perl scripting

我正在学习&编写一个非常基本的Perl脚本如下: -

print "Please enter your name dear: ";
$name = <STDIN>;
print "${name} you are learning Perl";

出于某种原因,输出显示为: -

Please enter your name dear: saas
saas
 you are learning Perl

为什么输入名称后面的文字在没有提到任何地方时会转到下一行字符?

2 个答案:

答案 0 :(得分:4)

有一个新行输出,其中输出$name的内容!它可能是$name吗?想想你输入的内容。你输入saas了吗?不。您键入saas + 输入

使用chomp$name删除尾随换行符。

答案 1 :(得分:0)

print "Please enter your name dear: ";
$name = <STDIN>;
chomp $name;
print "${name} you are learning Perl";

注意第3行。当您发送&#34; saas&#34;你必须按回车发送它。换行符附加到您的名称变量。 Chomp将为您删除