传递给子程序的参数放置在数组@_中,而且可以从那里提取它们。例:
sub addem
{
$value1 = @_[0];
$value2 = @_[1];
print "$value1 + $value2 = ", ($value1 + $value2),"/n";
}
addem(2, 2);
2 + 2 = 4;
也可以从其他方法从@_中得到值,例如用shift:
sub addem
{
$value1 = shift @_;
$value2 = shift @_;
print "$value1 + $value2 = ", ($value1 + $value2), "/n";
}
addem(2, 2);
2 + 2 = 4;
在子程序中,shift函数在默认情况下使用@_,所以可以这样改写这段代码:
sub addem
{
$value1 = shift ;
$value2 = shift ;
print "$value1 + $value2 = ", ($value1 + $value2), "/n";
}
addem(2, 2);
2 + 2 = 4;
也可以像这样用列表赋值方法一次得到全部参数:
sub addem
{
($value1, $value2) = @_ ;
print "$value1 + $value2 = ", ($value1 + $value2), "/n";
}
addem(2, 2);
2 + 2 = 4;
本文介绍Perl语言中如何通过特殊数组@_来传递参数到子程序,并演示了几种不同的参数提取方法,包括直接访问数组、使用shift函数以及列表赋值。
853

被折叠的 条评论
为什么被折叠?



