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

前端之家收集整理的这篇文章主要介绍了perl – 检查是否存在哈希键创建密钥前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
给出以下代码
  1. #!/usr/bin/perl
  2.  
  3. use Data::Dumper;
  4.  
  5. my %hash;
  6. my @colos = qw(ac4 ch1 ir2 ird kr3);
  7.  
  8. foreach my $colo (@colos) {
  9. if(exists $hash{output}{$colo}) {
  10. print "$colo is in the hash\n";
  11. }
  12. }
  13.  
  14. print Dumper(\%hash);

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

解决方法

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

请尝试以下方法

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

变成

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

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

猜你在找的Perl相关文章