我想知道如何在Perl中取消定义散列键的值.有人可以请更正我的代码吗?
#!/usr/bin/perl
use strict;
use warnings;
my %hash;
undef($hash{"a"});
undef($hash{"b"});
print scalar values %hash; # i need here 0
print scalar keys %hash; # and here 2
Run Code Online (Sandbox Code Playgroud)
undef($hash{"a"});
Run Code Online (Sandbox Code Playgroud)
相当于
$hash{"a"}=undef;
Run Code Online (Sandbox Code Playgroud)
所以你添加值为'a'的键'a'.要从哈希中删除值,请使用"删除".
delete $hash{"a"};
Run Code Online (Sandbox Code Playgroud)
对于相同的散列,不可能具有不同大小的"键"和"值".您可以使用grep过滤不需要的元素.