1. Perl函数
通过 & 调用.
2. Perl参数
Perl天然支持可变数目个参数。
在函数内部,所有参数按顺序放在数组 @_ 中。
在函数内部,$_[0] 表示函数的第一个参数。其余类推。
3. shift
shift 后跟一个数组,表示将数组的第一个值返回。数组也被改变,其第一个元素被弹出。
演示代码一(求最大值):
#!/usr/bin/perl -w
use strict;
# 调用函数max,取得一组数值的最大值,并输出。 my $ maxValue = & max( 11, 22, 33) ; print "maxValue=$maxValue/n" ;
sub max { # 采用遍历算法。先将参数中的第一个值赋给$currentMaxValue。 # @_ 是默认的包含本函数 所有 参数 [如 (11,22,33)] 的数 组。 # shift @_ 有两个结果: 1. 将数组 @_ 中的第一个值做为返回值(赋给了$currentMaxValue). 2. 将@_数组第一个值弹出[此后@_的值变为(22,33)]. my $ currentMaxValue = shift @ _ ;
# 函数中使用shift时,@_可以省略。上面代码也可以写成这样。 # my $currentMaxValue = shift;
# 遍历整个@_数组。 foreach ( @ _ ) { # $_ 表示数组@_中当前被遍历到的元素. if ( $ _ > $ currentMaxValue ) { # 如果发现当前数组元素比$currentMaxValue大,那就将$currentMaxValue重新赋值为当前元素。 $ currentMaxValue = $ _ ; } }
# 函数返回值为标量$currentMaxValue. return $ currentMaxValue ; } |
演示代码二(求和):
#!/usr/bin/perl -w
use strict;
# 求一组数的和并打印。
my $ s1 = & sum1( 11, 33) ;
my $ s2 = & sum2( 22, 33, 44) ;
my $ s3 = & sum3( 11, 44, 55) ;
print "s1=$s1,s2=$s2,s3=$s3/n" ;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。