简体   繁体   English

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

[英]How can I check if a value is undef in Perl?

Best asked by an example: 最好通过一个例子问:

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

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

Obviously I can explicitly loop and do that, but I always like to find one liners that achieve the same result. 显然我可以显式循环并执行此操作,但我总是希望找到一个可以实现相同结果的衬垫。

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

one liner 一个班轮

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

扩展鲍勃的答案,在某些情况下,你可能想要抓住实际的数量

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM