我想将哈希和变量传递给子例程:
%HoA = {'1'=>'2'};
my $group_size = 10;
&delete_unwanted(\%HoA,$group_size);
sub delete_unwanted {
my (%HoA,$group_size) = @_;
print "'$group_size'\n"
}
Run Code Online (Sandbox Code Playgroud)
但是,这没有任何打印.
您正在传递哈希引用(如您所愿),因此请将其分配给参数catch中的标量:
sub delete_unwanted {
my ($hashref, $group_size) = @_;
print "'$group_size'\n"
}
Run Code Online (Sandbox Code Playgroud)
如果您以后想要取消引用它,您可以my %newHoA = %$hashref;,但这将是原始哈希的副本.要访问原始结构,只需使用参考:print $hashref->{a_key};.