perl将数组传入函数的方法与其它语言略有不同,需向函数传入数组引用,如下面的例子:
#!/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
如果想将几个数组传入一个函数,那么需要多重引用。先将多个数组的引用组成一个数组,再将这个数组的引用的数组传入函数,如下面的例子。
#!/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