你如何排序Data :: Dumper(perl)的输出?

我想将我的对象的值转储到我的浏览器,但它不断打印密钥的顺序.如何转储(递归)排序顺序的键?
use Data::Dumper;

sub dump{
    my($self) = @_;
    print "<pre>",Dumper($self),"</pre>";
}

解决方法

设置$Data :: Dumper :: Sortkeys = 1以获取Perl的默认排序顺序.
如果要自定义顺序,请将$Data :: Dumper :: Sortkeys设置为对作为输入接收哈希引用的子例程的引用,并按照希望的顺序输出对哈希键的列表的引用出现.
# sort keys
$Data::Dumper::Sortkeys = 1;
print Dumper($obj);

# sort keys in reverse order - use either one
$Data::Dumper::Sortkeys = sub { [reverse sort keys %{$_[0]}] };
$Data::Dumper::Sortkeys = sub { [sort {$b cmp $a} keys %{$_[0]}] };
print Dumper($obj);

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...