Tie :: IxHash在Hash of Hashes中排序关联数组?

YoD*_*Dar 2 perl perl-hash

如何保留为第二个VAR添加哈希元素的顺序?

(散列哈希)

例如:

use Tie::IxHash;
my %hash;
tie %hash, "Tie::IxHash";
for my $num (0 .. 5){
     $hash{"FirstVal$num"}++;
}
for my $num (0 .. 5){
     $hash{"FirstValFIXED"}{"SecondVal$num"}++;
}
 print Dumper(%hash);
Run Code Online (Sandbox Code Playgroud)

转储结果时,$ VAR14不保留插入顺序:

$VAR1 = 'FirstVal0';
$VAR2 = 1;
$VAR3 = 'FirstVal1';
$VAR4 = 1;
$VAR5 = 'FirstVal2';
$VAR6 = 1;
$VAR7 = 'FirstVal3';
$VAR8 = 1;
$VAR9 = 'FirstVal4';
$VAR10 = 1;
$VAR11 = 'FirstVal5';
$VAR12 = 1;
$VAR13 = 'FirstValFIXED';
$VAR14 = {
           'SecondVal5' => 1,
           'SecondVal4' => 1,
           'SecondVal2' => 1,
           'SecondVal1' => 1,
           'SecondVal3' => 1,
           'SecondVal0' => 1
         };
Run Code Online (Sandbox Code Playgroud)

我知道我可以用一些排序操作来欺骗那个例子,但在我真正的问题中,元素没有编号或者不能按顺序排序.哈希多级订单插入是否有任何简单的功能/操作?

谢谢,

Yodar.

Phi*_*ter 5

看看Tie :: Autotie.它自动绑定由自动生成创建的新哈希.perldoc页面显示了使用Tie :: IxHash的示例.