推荐答案
测试一下
题目
子程序可以被某个表达式调用 ,无论此表达式的值是否被利用 。如早些的例子 &marine,我们得到此表达式的值 ,但其值被
参考答案与知识点
参考答案
第二个子程序中,`$fred + $barney` 的值被计算后并未返回,因为子程序的返回值是最后一个被计算的表达式的值。该子程序的最后一条语句是 `print`,其返回值通常为 1(表示打印成功),因此子程序返回 1,而不是 `$fred + $barney` 的和。`$fred + $barney` 的值在计算后未被使用,也就被丢弃了。Perl 中所有子程序都会自动返回最后一个表达式的值,无需显式 return。如果希望返回特定值,应确保该表达式是最后一条语句,或使用 `return` 语句提前返回。
涉及知识点
- Perl子程序返回值规则
- 最后表达式作为返回值
- print语句的返回值
- 显式return与隐式返回的区别