您可以像使用任何其他编程语言一样从Perl子例程返回值。如果您没有从子例程中返回值,那么子例程中最后执行的任何计算都会自动也返回值。
您可以像任何标量一样从子例程返回数组和散列,但是返回多个数组或散列通常会导致它们失去各自的标识。因此,我们将使用引用(在下一章中进行说明)从函数返回数组或哈希。
让我们尝试以下示例,该示例获取数字列表,然后返回其平均值-
#!/usr/bin/perl # Function definition sub Average { # get total number of arguments passed. $n = scalar(@_); $sum = 0; foreach $item (@_) { $sum += $item; } $average = $sum / $n; return $average; } # Function call $num = Average(10, 20, 30); print "Average for the given numbers : $num\n";
输出结果
执行以上程序后,将产生以下结果-
Average for the given numbers : 20