Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么这段perl代码不产生换行符_Perl_Newline - Fatal编程技术网

为什么这段perl代码不产生换行符

为什么这段perl代码不产生换行符,perl,newline,Perl,Newline,我正在学习一些Perl的开始示例 print "\n6 less than 7 and 7 greater than 2 : ", 6 < 7 and 7 > 2, "\n"; print ((3 + 2)/5), "\n"; 打印“\n6小于7且7大于2:”,62,“\n”; 打印((3+2)/5),“\n”; 结尾的新词没有出现。为什么?这是运算符优先级的问题和的优先级非常低,通常仅用于控制流。Perl将如下解析您的代码: (print "\n6 greater th

我正在学习一些Perl的开始示例

print "\n6 less than 7 and 7 greater than 2 : ", 6 < 7 and 7 > 2, "\n";    
print ((3 + 2)/5), "\n";
打印“\n6小于7且7大于2:”,6<7且7>2,“\n”;
打印((3+2)/5),“\n”;

结尾的新词没有出现。为什么?

这是运算符优先级的问题<代码>和的优先级非常低,通常仅用于控制流。Perl将如下解析您的代码:

(print "\n6 greater than 7 and 7 greater than 2 : ", 6 < 7) and (7 > 2, "\n");    
(print +(3 + 2)/5), "\n";

print( ((3 + 2)/5), "\n" );
  • 使用
    say
    功能,而不是
    print
    ,因为
    say
    会自动添加换行符:

    use feature 'say';
    say +(3 + 2)/5;
    

  • 是的,我正要编辑代码,谢谢。你也可以添加使用
    严格的
    警告
    操作可能会得到有用的提示。。。(我只是觉得最好把它放在这里,而不是添加另一个答案)哦,这就是你如何使用这个功能
    say
    use feature 'say';
    say +(3 + 2)/5;