perl – 仅使用密钥创建哈希

只能在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 }

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...