Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 如何将哈希和数组的引用传递给子例程_Perl - Fatal编程技术网

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

Perl 如何将哈希和数组的引用传递给子例程,perl,Perl,我试图将散列引用和数组引用传递给子例程,但出现错误,如无效的类字符串: sub test{ if($chk == 2) { return(\%hash,\@array); } } my ($has, $arr)= test(); 现在,我必须再次通过引用“$has,$arr”将其传递给另一个子例程 如何做到这一点?我像\%$has,\@$arr一样传递它们,但这似乎

我试图将散列引用和数组引用传递给子例程,但出现错误,如无效的类字符串:

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


my ($has, $arr)= test();
现在,我必须再次通过引用
“$has,$arr”
将其传递给另一个子例程

如何做到这一点?我像
\%$has,\@$arr
一样传递它们,但这似乎不是传递给子例程的当前方式

只要做:

anotherSub($has, $arr);
$has
$arr
已经是引用。

只需执行以下操作:

anotherSub($has, $arr);
$has
$arr
已经是引用。

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

my@Arr=('1','2')

&乐趣(\%Hash,\@Arr)

次趣味(){

} 次级方案2(){

}我的%Hash=('1'=>'one')

my@Arr=('1','2')

&乐趣(\%Hash,\@Arr)

次趣味(){

} 次级方案2(){

}

您正在“得到一个类似无效类字符串的错误”?这有点像Windows CLSID注册错误,而不是perlish错误。我们能不能看一下演示问题的代码,而不是你对解决问题需要做什么的叙述性描述?你是在“得到一个类似于无效类字符串的错误”?这有点像Windows CLSID注册错误,而不是perlish错误。我们是否可以看一下演示问题的代码,而不是您认为需要做什么来解决问题的叙述性描述?
my $Hash_Ref=shift;

my $Arr_Ref=shift;