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

所属分类: 脚本专栏 / perl 阅读数: 1979
收藏 0 赞 0 分享

pop 操作将数组的最后一个元素取出并返回:

@array=5..9;
$fred=pop(@array); #$fred 得到 9,@array 现在为(5,6,7,8)
$barney=pop@array; #$barneygets8,@array 现在为(5,6,7)
pop@array; #@array 现在为(5,6)(7 被丢弃了)
最后一个例子中,pop 使用在"inavoidcontext",也就是说没有存放其返回值的地方。这样使用 pop 是合法的。

如果数组为空,那 pop 什么也不做(因为没有元素可以移出),并返回 undef。

你可能已注意到 pop 后可以使用或者不使用括号。这在 Perl 中是一条通用规则:如果去掉括号含义不变,那括号就是可选
的◆。和 pop 相反的操作是 push,它可以将一个元素(或者一列元素)加在数组的末尾:
◆受过相应教育的人将发现,这是同义反复。
push(@array,0); #@array 现在为(5,6,0)
push@array,8; #@array 现在为(5,6,0,8)
push@array,1..10; #@array 现在多了 10 个元素
@others=qw/9 0 2 1 0/;
push@array,@others; #@array 现在又多了 5 个元素(共有 19 个)
push 的第一个参数或者 pop 的唯一参数必须是数组变量。

复制代码 代码如下:

#!/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 average\n"; 
@the_number_input=<STDIN>; 
@the_number_larger=above_average(@the_number_input); 
print "@the_number_larger\n";

更多精彩内容其他人还在看

Perl文件读取的经典用法分享

Perl文件读取的经典用法,有需要的朋友可以参考下
收藏 0 赞 0 分享

perl大文件读取处理的模块介绍

perl CPAN中有一个Tie-File 模块极大方便了对大文件的操作
收藏 0 赞 0 分享

perl跳过首行读取文件的实现代码

要求直接跳过第一行,然后读取后面的内容,以下代码来自网络,感谢原作者的辛苦劳动,顺祝新年快乐
收藏 0 赞 0 分享

Perl split字符串分割函数用法指南

本文向大家简单介绍一下Perl split函数的用法,Perl中的一个非常有用的函数是Perl split函数-把字符串进行分割并把分割后的结果放入数组中
收藏 0 赞 0 分享

perl数组的多数字下标示例代码

perl数组中正常的下标运算,想必大家都比较熟悉,这里不作说明。本文想说的是perl数组下标的多数字取值,可以极大的方便数组的操作
收藏 0 赞 0 分享

perl对m x n类似表进行按列排序的代码

perl对m x n类似表进行按列排序的代码,有需要的朋友可以参考下
收藏 0 赞 0 分享

perl常量、多维数组及变量的初始化的实例代码

perl常量、多维数组及变量的初始化的例子,供大家学习参考
收藏 0 赞 0 分享

perl的logwrapper使用实例代码

perl的logwrapper可以对任何的函数将标准输出和错误输出重定向到对应的log文件
收藏 0 赞 0 分享

Perl中处理时间的几个函数

本文为大家介绍Perl中处理时间的几个函数,供大家学习参考
收藏 0 赞 0 分享

perl上下文介绍

了解perl的朋友,都知道perl上下文在perl编程中的重要性,这里粗浅的作下介绍,供初学的朋友参考
收藏 0 赞 0 分享
查看更多