perl将数组传入函数的方法

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

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注