例で最もよく尋ねられる:
my $var1=1;
my $var2;
my $var3=3;
# say "at least one undef" if at least one of $var1, $var2, $var3 is undef
明らかに私は明示的にループしてそれを行うことができますが、私はいつも同じ結果を達成する1つのライナーを見つけるのが好きです。
例で最もよく尋ねられる:
my $var1=1;
my $var2;
my $var3=3;
# say "at least one undef" if at least one of $var1, $var2, $var3 is undef
明らかに私は明示的にループしてそれを行うことができますが、私はいつも同じ結果を達成する1つのライナーを見つけるのが好きです。
if (grep { !defined } $var1, $var2, $var3) {
say 'at least one undef'
}
一発ギャグ
say 'at least one undef' if grep { !defined } $var1, $var2, $var3;
ボブの答えを拡張すると、場合によっては、実際の数を取得したいことがあります
say 'has ', scalar ( grep { not defined } $var1,$var2,$var3 ),' undef';