Ωme*_*ega 11 perl hash dump data-dumper
在Perl中我需要分析一个巨大的哈希值,所以我使用Data::Dumper
模块将它打印到一个文件中.因为它是一个巨大的文件,所以很难阅读.有可能以某种方式Dumper
很好地打印输出,所以当我找到一个我正在寻找的字符串时,我将能够立即看到我正在寻找的字符串存储的关键结构吗?
目前我只使用一个简单的代码:
use Data::Dumper;
...
print Dumper $var;
Run Code Online (Sandbox Code Playgroud)
获得良好输出的最佳语法或替代方法是什么?
mob*_*mob 21
我几乎总是这样
$Data::Dumper::Indent = 1;
$Data::Dumper::Sortkeys = 1;
Run Code Online (Sandbox Code Playgroud)
与Data::Dumper
.第一个语句使输出更紧凑,并且当您的数据结构有多个级别时,可以更具可读性.第二个语句使扫描输出更容易,并快速找到您最感兴趣的键.
如果数据结构包含二进制数据或嵌入的选项卡/换行符,也要考虑
$Data::Dumper::Useqq = 1;
Run Code Online (Sandbox Code Playgroud)
这将为该数据输出合适的可读表示.
在perldoc中更多.
一种可能的解决方案是使用Data :: Dumper :: Perltidy,它通过Perltidy运行Data :: Dump的输出.
#!/usr/bin/perl -w
use strict;
use Data::Dumper::Perltidy;
my $data = [{ title => 'This is a test header' },{ data_range =>
[ 0, 0, 3, 9] },{ format => 'bold' }];
print Dumper $data;
__END__
Run Code Online (Sandbox Code Playgroud)
打印:
$VAR1 = [
{ 'title' => 'This is a test header' },
{ 'data_range' => [ 0, 0, 3, 9 ] },
{ 'format' => 'bold' }
];
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用Data :: Dump.