我已经看到delete删除哈希元素.但是如果某些元素的日期undef有价值呢?
我想删除其值为的所有哈希元素undef.
我怎么能用一行或最简单的方式做到这一点.
我建议你删除一个哈希切片,grep用来确定哪些键对应一个未定义的值
use strict;
use warnings 'all';
my %h = (
a => 1,
b => undef,
c => 1,
d => undef,
);
delete @h{ grep { not defined $h{$_} } keys %h };
use Data::Dump;
dd \%h;
Run Code Online (Sandbox Code Playgroud)
{ a => 1, c => 1 }
Run Code Online (Sandbox Code Playgroud)