#!/usr/bin/perl
$maximum = &max (3, 4, 8, 20, 9, 32, 12, 22); 传标量列表给子程序max
sub max { 定义子程序max
my ( $max_so_far ) = shift @_; 定义私有变量并把maximum中的第一个值赋给它
foreach (@_) { 遍历标量列表
if ( $_ > $max_so_far ) { 剩下标量列表和max_so_far比较
$max_so_far = $_; 把较大的值赋给max_so_far
}
}
$max_so_far; 返回max_so_far
}
print $maximum ."\n"; 打印最大值
此程序用到shift(把标量列表中的第一个值取出赋给变量),@_(子程序用的数组名),$_(foreach 遍历时候不定义变量默认存储在$_中)。
转载于:https://blog.51cto.com/myunix/1165211