【发布时间】:2009-11-18 18:02:48
【问题描述】:
如果我将哈希传递给子:
parse(\%data);
我应该首先使用$_[0] 的变量,还是可以在我想从哈希中获取元素时继续访问$_[0]?澄清:
sub parse
{ $var1 = $_[0]->{'elem1'};
$var2 = $_[0]->{'elem2'};
$var3 = $_[0]->{'elem3'};
$var4 = $_[0]->{'elem4'};
$var5 = $_[0]->{'elem5'};
}
# Versus
sub parse
{ my $hr = $_[0];
$var1 = $hr->{'elem1'};
$var2 = $hr->{'elem2'};
$var3 = $hr->{'elem3'};
$var4 = $hr->{'elem4'};
$var5 = $hr->{'elem5'};
}
第二个版本是否更正确,因为它不必一直访问参数数组,还是 Perl 最终会以同样的方式对它们进行交互?
【问题讨论】: