只能在PERL哈希中推送密钥,我的意思是,可以创建没有相应值的哈希吗?
我想创建一个行为就像数组一样的散列,即只有键而不是相应值的散列.示例如下:
my %feedHash; while(<CFG>) { chomp($_); my @val=split(/:/,$_); chomp($val[0]); my $feedId=$val[0]; if(!exists $feedHash{$feedId}) { print "\n$feedId Feed is not present"; $hash{$feedId} = undef; mkdir "LoadReports/$feedId" or die $!; } else { print '\nFeed is already present'; } }
正在给出消息:“Feed不存在”,即使对于第二次循环中的相同feed id也是如此
解决方法
您可以使用键进行哈希,其中值设置为undef
my %hash; @hash{qw(key1 key2 key3)} = ();
检查/设置特定的哈希密钥,
if (!exists $hash{key4}) { $hash{key4} = undef }