perl push的用法及子程序返回值的反思
pop 操作將數(shù)組的最后一個(gè)元素取出并返回:
@array=5..9;
$fred=pop(@array); #$fred 得到 9,@array 現(xiàn)在為(5,6,7,8)
$barney=pop@array; #$barneygets8,@array 現(xiàn)在為(5,6,7)
pop@array; #@array 現(xiàn)在為(5,6)(7 被丟棄了)
最后一個(gè)例子中,pop 使用在"inavoidcontext",也就是說(shuō)沒(méi)有存放其返回值的地方。這樣使用 pop 是合法的。
如果數(shù)組為空,那 pop 什么也不做(因?yàn)闆](méi)有元素可以移出),并返回 undef。
你可能已注意到 pop 后可以使用或者不使用括號(hào)。這在 Perl 中是一條通用規(guī)則:如果去掉括號(hào)含義不變,那括號(hào)就是可選
的◆。和 pop 相反的操作是 push,它可以將一個(gè)元素(或者一列元素)加在數(shù)組的末尾:
◆受過(guò)相應(yīng)教育的人將發(fā)現(xiàn),這是同義反復(fù)。
push(@array,0); #@array 現(xiàn)在為(5,6,0)
push@array,8; #@array 現(xiàn)在為(5,6,0,8)
push@array,1..10; #@array 現(xiàn)在多了 10 個(gè)元素
@others=qw/9 0 2 1 0/;
push@array,@others; #@array 現(xiàn)在又多了 5 個(gè)元素(共有 19 個(gè))
push 的第一個(gè)參數(shù)或者 pop 的唯一參數(shù)必須是數(shù)組變量。
#!/bin/perl
sub above_average
{
$number=@_;
foreach $how(@_)
{
$total=$total+$how;
}
$the_average=$total/$number;
foreach (@_)
{
if ($_>$the_average)
{
push(@larger,$_)#這里不用賦值,數(shù)組元素的添加,直接用push就好了
}
}
@larger;#子程序的返回值,一定要有,剛開(kāi)始沒(méi)有寫(xiě)
}
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";
相關(guān)文章
Perl從文件中讀取字符串的兩種實(shí)現(xiàn)方法
有時(shí)候我們需要從文件中讀取字符串,這里簡(jiǎn)單介紹下, 需要的朋友可以參考下2013-02-02perl數(shù)據(jù)庫(kù)添加、刪除、更新、查詢(xún)操作例子
這篇文章主要介紹了perl數(shù)據(jù)庫(kù)添加、刪除、更新、查詢(xún)操作例子,本文直接給出操作代碼,需要的朋友可以參考下2014-08-08Perl localtime時(shí)間函數(shù)的應(yīng)用介紹
Perl時(shí)間函數(shù)localtime的使用介紹,這里簡(jiǎn)單的介紹下,更多請(qǐng)查看官方介紹2013-02-02