Perl Data::Dumper返回带有斜杠的哈希

Perl Data::Dumper返回带有斜杠的哈希,perl,hash,hashref,data-dumper,Perl,Hash,Hashref,Data Dumper,我有一行perl代码,如下所示: my $stored_value = $foo->some_function($argument); warn Dumper $another_hash->{'foo'}; 当我在上面做翻车时: warn Dumper $stored_value 因此,我收到了这封信 $VAR1 = \{ 'foo' => 'abc', 'bar' => '123' }; $VAR1 = 'ba

我有一行perl代码,如下所示:

my $stored_value = $foo->some_function($argument);
warn Dumper $another_hash->{'foo'};
当我在上面做翻车时:

warn Dumper $stored_value
因此,我收到了这封信

$VAR1 = \{
             'foo' => 'abc',
             'bar' => '123'
};
$VAR1 = 'bar';
现在,我看到了这样的结果:

warn Dumper $another_hash;
$VAR1 = {
      'foo' => 'bar',
      'baz' => 'quux'
    };
如果我想得到,比如说,foo的值,我会输入如下内容:

my $stored_value = $foo->some_function($argument);
warn Dumper $another_hash->{'foo'};
结果就是这样

$VAR1 = \{
             'foo' => 'abc',
             'bar' => '123'
};
$VAR1 = 'bar';
起初,我在谷歌搜索中找不到任何东西,但就在刚才,我制作了一个小测试脚本来处理我看到的内容,我发现了这个问题

#!/usr/bin/perl
#
use strict;
use warnings;
use Data::Dumper;

sub test {
my $brother = {'Ted'};
$brother->{'Ted'} = 'brother';
return \$brother;
}

my $blah= test();
my $blah = ${$blah};
print Dumper $blah->{'Ted'};
print "\n";
以下是我的结果:

$VAR1 = 'brother';
我想分享我的发现,以防其他人遇到同样的事情,但我到底看到了什么


我在中看到了如何实现这一点,但我只是想澄清一下。

我不确定您的问题是什么,但您的输出显示,
$stored\u value
是对标量的引用,而标量又是对散列的引用

保留对标量的引用很少有用,因此这可能表明存在错误

这个简短的程序展示了如何创建价值

use strict;
use warnings;

use Data::Dumper;

my $href = {
  foo => 'abc',
  bar => '123',
};

my $href_ref = \$href;

print Dumper $href_ref;
输出

$VAR1 = \{
            'bar' => '123',
            'foo' => 'abc'
          };

顺便说一句,它通常比

更有用。您是否真的声明了两次
my$blah
?这是次要的,但
\
是反斜杠,而不是斜杠。希望这将有助于你在未来的搜索。