Perl sqrt,cube issue:每行显示1次

Mis*_*123 2 shell perl

我在使用算术运算符的小perl脚本时遇到了一个小问题.在我的立方根和平方根运算符之后,显示1.我在openSUSE 42.1 VM上测试了这个脚本.

我不太确定每条线后面的1是什么,我试过查找它,但我不太确定.我主要用bash和ksh编写脚本,所以这个perl语法对我来说有点新鲜.

脚本:

#!/usr/bin/perl
# Provide a sum, cube of the sum, and square root of the sum of three set variables
# Set variables
$v1=10;
$v2=9;
$v3=8;
$val=$v1+$v2+$v3;
$cube=$val ** (1/3);
$square= sqrt($val);
print "Sum of 10, 9, 8: $val\n";
print
print "Cube of Sum: $cube\n";
print
print "Square of Sum: $square\n";
print
print "Thanks for using this script!"
Run Code Online (Sandbox Code Playgroud)

Hen*_*ica 9

你的台词只是说

print
Run Code Online (Sandbox Code Playgroud)

不是声明本身,因为它们不是由a终止的;.相反,它们是表单声明的一部分

print print "text";
Run Code Online (Sandbox Code Playgroud)

内部打印有一个参数"text"并打印出来,外部打印有一个参数print "text"并打印出它的值,当成功打印返回值为1时(perldoc只表示它返回true,所以不要依赖这是1) - 所以打印1.

如果关键是要很好地格式化您的输出,您应该明确打印"\n".