perl中的引用和C中的指针一样,用""标识,引用后可使用符号“->”取值。解引用则在对应的数据类型前加$,@ 或%。
这里这里用两数组求和做示例,引用传递的子函数的用法。
1 use strict; 2 3 my @s1=(1,13,4,25,6,27,8,22); 4 my @s2=(11,2,34,5,6,23,1,54); 5 6 my @sum=sums(@s1,@s2); 7 8 foreach my $k(@sum){ 9 print "$k "; 10 } 11 12 my @res; 13 sums2(@s1,@s2,@res); 14 15 foreach my $k(@res){ 16 print "$k "; 17 } 18 19 20 sub sums2{ 21 my ($lst1,$lst2,$res)=@_; 22 my $i=0; 23 while($i<@$lst1){ 24 push @$res,$lst1->[$i]+$lst2->[$i]; 25 $i++ 26 } 27 } 28 29 30 sub sums{ 31 my ($lst1,$lst2)=@_; 32 my $i=0; my @res; 33 while($i<@$lst1){ 34 push @res,$lst1->[$i]+$lst2->[$i]; 35 $i++; 36 } 37 return @res; 38 }