案例;有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.pl10

上面的程序代码使用了一般称为“高水线(high-watermark)”的算法;大水过后,在最后一浪消退时,高水线会标示出所见过的最高水位。本例中,$max_so_far记录了高水线,所以最后$max_so_far变量中的值就是我们要找的最大值。