perl将数组传入函数的方法

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

发表评论

电子邮件地址不会被公开。