gpt4 book ai didi

perl - 意外的数据::倾销者::倾销者结果

转载 作者:行者123 更新时间:2023-12-04 17:19:06 24 4
gpt4 key购买 nike

为什么在这里Data::Dumper::Dumper 打印 $VAR1->{'AA'}[2]而不是 { 1 => 6 } ?

#!/usr/bin/env perl
use warnings;
use strict;
use 5.10.0;

my @a = ( 'a', 'b', { 1 => 6 } );
my %h = (
'AA' => [ @a ],
'BB' => [ @a ],
);


say $h{BB}->[2]{1};

use Data::Dumper;
say Dumper \%h;

输出:
6
$VAR1 = {
'AA' => [
'a',
'b',
{
'1' => 6
}
],
'BB' => [
'a',
'b',
$VAR1->{'AA'}[2]
]
};

最佳答案

在您的示例中 $VAR1->{'AA'}[2]$VAR1->{'BB'}[2]是对相同哈希的引用。

Data::Dumper 不想多次打印变量。这种行为更忠实地代表了数据结构,并且避免了它可能遇到的任何无限循环。
例如。:

my $loop;
$loop = { 1 => \$loop };
print Dumper $loop;

输出是
$VAR1 = {
'1' => \$VAR1
};

关于perl - 意外的数据::倾销者::倾销者结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25156769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com