我想将我的对象的值转储到我的浏览器,但它不断打印密钥的顺序.如何转储(递归)排序顺序的键?
use Data::Dumper; sub dump{ my($self) = @_; print "<pre>",Dumper($self),"</pre>"; }
解决方法
设置$Data :: Dumper :: Sortkeys = 1以获取Perl的默认排序顺序.
如果要自定义顺序,请将$Data :: Dumper :: Sortkeys设置为对作为输入接收哈希引用的子例程的引用,并按照希望的顺序输出对哈希键的列表的引用出现.
如果要自定义顺序,请将$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);