从Perl中的子例程返回值

您可以像使用任何其他编程语言一样从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