我有一个子程序:calcPercentage
。我想打印此子例程返回的值。
我可以在一行中完成此操作,类似于:
print "Result is: $calcPercentage($a,$b)"
答案 0 :(得分:8)
当然:print "Result is: ", calcPercentage($a, $b), "\n";
答案 1 :(得分:3)
执行此操作的最佳方法是将函数调用作为print
的参数之一传递,正如其他答案所说的那样。
但是,如果由于某种原因,你希望函数调用的结果在字符串文字中扩展,因为"foo $bar"
扩展了一个变量名,实际上有一种(相当难看)的方法:
print "Result is: @{[calcPercentage($a,$b)]}";
请参阅this question。
同样,如果你只是使用print
,这不是特别有用,因为print
本身连接了它的参数。即使你没有使用print
,最好只是自己连接参数:
$s = "Result is: " . calcPercentage($a, $b);
答案 2 :(得分:0)
我有时使用printf
:
printf "Result is: %.2f\n", calcPercentage($a, $b)
在样式注释上无关,perl中通常的命名约定是under_scores
而不是camelCase
,而$a
和$b
是保留的变量名称;通常在示例中,最好使用免费的$x
和$y
。
答案 3 :(得分:-1)
> cat hello.pl
#!/usr/bin/perl
sub hello_p
{
return "hello"
}
print "return value is ",hello_p,"\n";
执行如下:
> perl hello.pl
return value is hello