perl中push的用法及子程序返回值的反思

发布时间:2020-05-25编辑:脚本学堂
以下的程序,输出一串数字中比平均值大的数,其中有两个问题值得注意,具体请看程序中的注释。

以下的程序,输出一串数字中比平均值大的数,其中有两个问题值得注意,具体请看程序中的注释。
 

复制代码 代码如下:

#!/bin/perl

sub above_average 

  $number=@_; 
  foreach $how(@_) 
  { 
     $total=$total+$how; 
  } 
  $the_average=$total/$number; 
  foreach (@_) 
  { 
     if ($_>$the_average) 
     { 
        push(@larger,$_)#这里不用赋值,数组元素的添加,直接用push就好了 
     } 
  } 
  @larger;#子程序的返回值,一定要有,刚开始没有写 

print "please input several numbers,and you will get the number which is large than their averagen"; 
@the_number_input=<STDIN>; 
@the_number_larger=above_average(@the_number_input); 
print "@the_number_largern";