perl将数组传入函数的方法与其它语言略有不同,需向函数传入数组引用,如下面的例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/usr/bin/perl use 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 |
如果想将几个数组传入一个函数,那么需要多重引用。先将多个数组的引用组成一个数组,再将这个数组的引用的数组传入函数,如下面的例子。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #!/usr/bin/perl use 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 输出结果 123 456 789 |