Data::Dumper 返回带斜线的散列
Data::Dumper returned hash with a slash
所以我有一行 perl 代码,内容如下:
my $stored_value = $foo->some_function($argument);
当我在上面做 Dumper 时:
warn Dumper $stored_value
我收到了这个结果。
$VAR1 = \{
'foo' => 'abc',
'bar' => '123'
};
现在,我看到了这样的结果:
warn Dumper $another_hash;
$VAR1 = {
'foo' => 'bar',
'baz' => 'quux'
};
如果我想知道 foo 的值,我会输入如下内容:
warn Dumper $another_hash->{'foo'};
得到这个结果。
$VAR1 = 'bar';
最初,我通过 Google 搜索找不到任何东西,但就在刚才,我做了一个小测试脚本来玩弄我所看到的,我发现了这个
#!/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';
我想分享我的发现,以防其他人 运行 遇到同样的事情,但我到底看到了什么?
我在 http://perldoc.perl.org/perlref.html#Using-References 中看到了如何执行此操作,但我只是想对其进行一些说明。
我不确定你的问题是什么,但你的输出显示 $stored_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'
};
而且,顺便说一句,通常使用 Data::Dump
in preference to Data::Dumper
更有用
所以我有一行 perl 代码,内容如下:
my $stored_value = $foo->some_function($argument);
当我在上面做 Dumper 时:
warn Dumper $stored_value
我收到了这个结果。
$VAR1 = \{
'foo' => 'abc',
'bar' => '123'
};
现在,我看到了这样的结果:
warn Dumper $another_hash;
$VAR1 = {
'foo' => 'bar',
'baz' => 'quux'
};
如果我想知道 foo 的值,我会输入如下内容:
warn Dumper $another_hash->{'foo'};
得到这个结果。
$VAR1 = 'bar';
最初,我通过 Google 搜索找不到任何东西,但就在刚才,我做了一个小测试脚本来玩弄我所看到的,我发现了这个
#!/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';
我想分享我的发现,以防其他人 运行 遇到同样的事情,但我到底看到了什么?
我在 http://perldoc.perl.org/perlref.html#Using-References 中看到了如何执行此操作,但我只是想对其进行一些说明。
我不确定你的问题是什么,但你的输出显示 $stored_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'
};
而且,顺便说一句,通常使用 Data::Dump
in preference to Data::Dumper