大家都知道在子程序中可以通过my ($a,$b) = @_;来获取参数,
但是当参数为一个的时候,经常有人会写成 my $a = @_;
这时候是标量上下文,$a的值始终为@_的个数,因此在你搞错的时候,perl无法提出警告。
想要获取入参时,要改为my ($a) = @_; 这才是列表上下文,
所以记住在获取子程序的参数时,无论有多少个入参,都应该写为my () = @_。
还要注意的是my()操作符时,请记住,在my不使用括号时,只能声明单个词法变量。
my $a,$b; #只声明了$a
my ($a,$b); #两个都声明
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。