如何将哈希的一部分传递给子例程?
%list = ( 1 => {name => 'first', quantity => 2},
2 => {name => 'second', quantity => 3});
$i = 2;
#doesn't work....
check_something ( \%{list}{$i} );
sub check_something {
%local = @_;
}
#doesn't work....
check_something ( \%list, $i );
sub check_something {
my ($ref, $item) = @_
%local = %{$ref}{$item};
}
最佳答案
将 $list{$i}
传递给子例程,
use strict;
check_something ( $list{$i} );
sub check_something {
my ($href) = @_;
# $href->{name}, $href->{quantity}
my %hash = %$href;
# $hash{name}, $hash{quantity}
}
关于perl - 如何将散列的一部分传递给子例程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17031839/