假设我有一个函数foo
,它返回一个固定长度的列表,并将返回的列表分配给少数几个变量:
($duck, $lemonade, $stand, $grapes) = foo($waddle);
但事实证明我实际上并不想要$lemonade
。我可以用下划线替换它来说我不需要值(它在其他一些编程语言中用于此目的),但由于它在Perl中具有隐含的特殊含义,我认为它可能是混乱的完全不好。
Perl是否有这种“一次性”变量的约定,或者是否有更多的Perly(perlish?)方式?或者更确切地说,鉴于这是Perl,还有其他方法吗?
答案 0 :(得分:5)
你可以做这样的事情来明确你丢弃的值:
use strict;
use warnings;
sub foo {
return ( 1..4 );
}
my ( $one, undef, $three, undef ) = foo();
print "$one $three\n"; # prints "1 3"