perl将数组传入函数的方法与其它语言略有不同,需向函数传入数组引用,如下面的例子:
12345678910111213141516 |
#!/usr/bin/perluse strict;use warnings;my @a=1..100;my $total=sum(\@a);sub sum{my ($aref)=@_;my ($total)=0;foreach(@$aref){$total+=$_;}return $total;}print $total;###输出结果为5050 |
如果想将几个数组传入一个函数,那么需要多重引用。先将多个数组的引用组成一个数组,再将这个数组的引用的数组传入函数,如下面的例子。
1234567891011121314151617181920212223 |
#!/usr/bin/perluse strict;use warnings;my @a=1..3;my @b=4..6;my @c=7..9;my @tailings=popmany(\@a,\@b,\@c);sub popmany{foreach(@_){ ####获得每个数组的引用foreach(@$_){ ###利用引用获得每个元素print;}print "\n";}}=c 输出结果123456789 |