値を持たないハッシュのキーを出力したい。perlでこれを達成する方法は?
例えば
my %hash = ( Lemon => "",
Orange => "orange",
Lime => "" );
キーのレモンとライムのみを印刷したい。
値を持たないハッシュのキーを出力したい。perlでこれを達成する方法は?
例えば
my %hash = ( Lemon => "",
Orange => "orange",
Lime => "" );
キーのレモンとライムのみを印刷したい。
grep
お好みのコンディションに。すべてのキーには値があるため、「空の文字列の値を持つ」という意味だと思います。
print "$_\n" foreach grep { $hash{$_} eq "" } keys %hash;
キーをループして、それぞれに空白/undef
値を出力します。
$hash{$_} || say for keys %hash;
したくない場合undef
:
$hash{$_} eq '' && say for keys %hash;