如何在Perl中检查值是否为undef?

时间:2010-09-22 07:38:56

标签: perl undefined-index

最佳问一个例子:

my $var1=1;
my $var2;
my $var3=3;

# say "at least one undef" if at least one of $var1, $var2, $var3 is undef

显然我可以明确地循环并做到这一点,但我总是希望找到一个能够达到相同结果的衬里。

2 个答案:

答案 0 :(得分:10)

if (grep { !defined } $var1, $var2, $var3) {
  say 'at least one undef'
}

一个班轮

say 'at least one undef' if grep { !defined } $var1, $var2, $var3;

答案 1 :(得分:1)

扩展Bob的答案,在某些情况下,您可能想要获取实际计数

say 'has ', scalar ( grep { not defined } $var1,$var2,$var3 ),' undef';