为什么这段perl代码不产生换行符
我正在学习一些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
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;