案例;有5个数3 5 10 4 6 求出一个最大值;
代码如下:
#!/usr/bin/perl $maximum=&max(3,5,10,4,6); sub max { my ($max_so_far) = shift @_; foreach (@_) { if ($_ > $max_so_far) { $max_so_far = $_; } } $max_so_far; } print "$maximum\n";
执行后
[root@centos lansgg]# ./d.pl 10
上面的程序代码使用了一般称为“高水线(high-watermark)”的算法;大水过后,在最后一浪消退时,高水线会标示出所见过的最高水位。本例中,$max_so_far记录了高水线,所以最后$max_so_far变量中的值就是我们要找的最大值。