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