美文网首页
哈希 IN 哈希

哈希 IN 哈希

作者: 余绕 | 来源:发表于2022-03-05 15:06 被阅读0次
image.png
具体实例:

把下面的哈希值进行转换成哈希in哈希

$hash{"C"}{"d"}=10;
$hash{"C"}{"e"}=10;
$hash{"D"}{"a"}=11;
$hash{"D"}{"b"}=11;
$hash{"E"}{"g"}=12;
$hash{"E"}{"h"}=12;
$hash{"F"}{"i"}=11;
转换后:
%hash=("C"=>{"d"=>10,"e"=>10},
              "D"=>{"a"=>11,"b"=>11},
               "E"=>{"g"=>12,"h"=>12},
               "F"=>{"i"=>11});

打印hash,哈希不能直接打印,必须在foreach循环中打印,这个很奇怪。不能直接打印$hash{"C"}{"d"}(运行报错)。

%hash=("C"=>{"d"=>10,"e"=>10},
              "D"=>{"a"=>11,"b"=>11},
               "E"=>{"g"=>12,"h"=>12},
               "F"=>{"i"=>11});        


foreach $id1 (keys %hash){ 
    
    foreach $id2(keys %{$hash{$id1}}){  #解引用匿名哈希
        
        print "$id1\t$id2\t$hash{$id1}{$id2}\n";
        
    }
}

运行之后:

PS C:\Users\TAO\Desktop> perl '.\new 5.pl'
E       g       12
E       h       12
F       i       11
D       b       11
D       a       11
C       d       10
C       e       10

相关文章

网友评论

      本文标题:哈希 IN 哈希

      本文链接:https://www.haomeiwen.com/subject/rlqbrrtx.html