perl学习笔记

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, 22, 33) ;
my $ s2 = & sum2( 22, 33, 44) ;
my $ s3 = & sum3( 11, 22, 33, 44, 55) ;
print "s1=$s1, s2=$s2, s3=$s3/n" ;

你可能感兴趣的:(perl学习笔记)