好的,我了解 perl 哈希片和Perl中的“x”运算符,但是有人可以从这里解释以下代码示例(稍微简化)吗?
sub test{
my %hash;
@hash{@_} = (undef) x @_;
}
示例调用子:
test('one', 'two', 'three');
这条线是什么让我:
@hash{@_} = (undef) x @_;
它正在创建一个哈希,其中键是 sub 的参数并初始化为 undef,因此:
%哈希:
'一' => undef, '二' => undef, '三' => undef
x 运算符的右值应该是一个数字;@_ 是如何被解释为子参数数组的长度的?我希望你至少必须这样做:
@hash{@_} = (undef) x scalar @_;