本文例子中用到的函数来自于 List::Util 模块,Perl的内置模块,很好用的。
(1)求数组的和:不需要一个一个地累加,直接调用 sum 函数
复制代码 代码如下:
use List::Util qw/sum/;
my @array = (10, 20, 30, 40);
my $sum = sum @array; # 得到 100
(2)求数组的最大、最小值:不需要逐个比较,直接调用 max 和 min 函数
复制代码 代码如下:
use List::Util qw/max min/;
my @array = (10, -1, 6, 25, 8);
my $max = max @array; # 得到 25
my $min = min @array; # 得到 -1
(3)如果是按照字符串排列的最大、最小值呢?调用 maxstr 和 minstr 函数
复制代码 代码如下:
use List::Util qw/maxstr minstr/;
my @array = ("Beijing", "Shanghai", "Guangzhou", "Chengdu", "Nanjing");
my $maxstr = maxstr @array; # 得到 Shanghai
my $minstr = minstr @array; # 得到 Beijing
备注:这些函数都是经过 C 优化的,执行速度很快的。