perl – 检查是否存在哈希键创建密钥

前端之家收集整理的这篇文章主要介绍了perl – 检查是否存在哈希键创建密钥前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
给出以下代码
#!/usr/bin/perl

use Data::Dumper;

my %hash;
my @colos = qw(ac4 ch1 ir2 ird kr3);

foreach my $colo (@colos) {
    if(exists $hash{output}{$colo}) {
        print "$colo is in the hash\n";
    }
}

print Dumper(\%hash);

我有一个空哈希创建.我有一个包含一些缩写的数组.如果我遍历数组以查看这些人是否在哈希中,则没有任何内容显示给STDOUT,这是预期的但是由于某种原因创建了$hash {output}.这根本不符合逻辑.我所做的只是存在.我哪里做错了?

解决方法

exists查找给定哈希中的哈希元素.您的代码自动生成哈希
%{$hash {output}}并检查该哈希中是否存在具有键$colo的哈希元素.

请尝试以下方法

if(exists $hash{output}{$colo}) {

变成

if(exists $hash{output} and exists $hash{output}{$colo}) {

当然,您可以编写一个隐藏代码复杂性的子程序.

猜你在找的Perl相关文章