大家都知道在子程序中可以通过my ($a, $b) = @_;来获取参数,
但是当参数为一个的时候,经常有人会写成 my $a = @_;
这时候是标量上下文,$a的值始终为@_的个数,因此在你搞错的时候,perl无法提出警告。
想要获取入参时,要改为my ($a) = @_; 这才是列表上下文,
所以记住在获取子程序的参数时,无论有多少个入参,都应该写为my () = @_。
还要注意的是my()操作符时,请记住,在my不使用括号时,只能声明单个词法变量。
my $a, $b; #只声明了$a
my ($a, $b); #两个都声明
本文详细解释了在Perl中如何正确地从子程序中获取参数。重点介绍了my(@_)的操作方式,并强调了无论参数数量多少都应该使用列表上下文来接收。同时指出了常见的错误用法及其原因。
1515

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



