将两个hash传到子过程,值不正确

将两个hash传到子过程,值不正确

各位高手:
有哪位试过将两个hash传到子过程,我试过,这样传的结果是,hash里面的值会不正确。
忘高手能够指点。
你传递的是引用么~~~~~~~~
举例如下 :

my %where = ('parent' => $query_menu_id);
调用函数
&do('test',\%where);

函数定义
sub do(@) {
        my $var1 = $_[1];      
        my $where = $_[2];
        my %where = %{$where}; // 引用hash
        my %elements = ();
}

请参考!