1

値を持たないハッシュのキーを出力したい。perlでこれを達成する方法は?

例えば

my %hash = ( Lemon  => "",
             Orange => "orange",
             Lime   => "" );

キーのレモンとライムのみを印刷したい。

4

4 に答える 4

7

grepお好みのコンディションに。すべてのキーには値があるため、「空の文字列の値を持つ」という意味だと思います。

print "$_\n" foreach grep { $hash{$_} eq ""  } keys %hash;
于 2013-09-05T11:02:38.460 に答える
2

キーをループして、それぞれに空白/undef値を出力します。

$hash{$_} || say for keys %hash;

したくない場合undef:

$hash{$_} eq '' && say for keys %hash;
于 2013-09-05T11:02:45.970 に答える