如何将哈希和数组的引用传递给子例程

时间:2013-08-29 10:57:43

标签: perl

我正在尝试将哈希引用和数组引用传递给子例程,但得到的错误就像无效的类字符串一样:

sub test{
           if($chk == 2)
             {
                return(\%hash,\@array);
              } 
        }


my ($has, $arr)= test();

现在我必须将"$has, $arr"的引用传递给另一个子例程。

怎么做?我像\%$has, \@$arr那样传递它们,但似乎这不是传递给子程序的当前方式。

2 个答案:

答案 0 :(得分:3)

只是做:

anotherSub($has, $arr);

$has$arr已经是引用。

答案 1 :(得分:0)

my%Hash =('1'=>'one');

我的@Arr =('1','2');

&安培;乐趣(\%哈希,\ @编曲);

sub fun(){

my $Hash_Ref=shift;

my $Arr_Ref=shift;
enter code here
&Fun2($Hash_Ref,$Arr_Ref);

} sub fun2(){

my $Hash_Ref=shift;

my $Arr_Ref=shift; 

}