回答
看看Data::Dump对于Data :: Dumper类似的东西,但可以说漂亮的打印更好。
编辑(20120304):我已经完全忘记了这个问题,但它今天被提高了,并且慢慢地记住了我的记忆。如果我今天(3年后)不得不推荐使用Perl进行漂亮打印,我肯定会与Data::Printer一起去。从数据::打印机自身的理由:
的事情是
数据::自卸车是一个奇妙的工具,旨在字符串化数据结构在某种程度上,他们是适合于被
eval
“编回来,很多人继续使用它(和类似的Data :: Dump)来在屏幕上打印数据结构和对象以进行检查和调试,而您可以使用这些模块,但这并不意味着您应该是。这是数据::打印机进来它的目的是做一两件事,只有一两件事: 显示Perl的变量和对象在屏幕上,正确格式化(由人来检查)
一个替代方案*到Data::Dumper将是JSON及其Perl执行JSON。
*是否最好由您决定。
跨平台或跨语言交流当然更好,例如准备通过JavaScript或Flash应用程序接收的数据结构。大多数现代语言都有JSON库,还有许多后现代和破旧的库。 :) – Ether 2009-10-20 16:23:04
如果你想序列化输出存储(而不是显示),看看Storable的freeze()
和thaw()
。每当我看到Data :: Dumper用于将数据结构保存在数据库或缓存中时,我都会畏缩。 :(
我通常使用数据::转储::流光,但由于其他人说,只有当选项的数据::自卸车是不够的。
如果你只是想找转储输出:Smart::Comments
你刚才use
它
use Smart::Commments;
然后你把任何简单的变量在三哈希评论,像这样:
my $v = black_box_process();
### $v
它可以在几乎最漂亮的印刷品中倾倒出来。
您还可以管理更复杂的表达式,像这样:
### ($a && ($b^($c || $d))) : ($a && ($b^($c || $d)))
但你必须看它的“冒号路径”。
### $My::Package::variable
或
###%我::包装::
有在我的经验,从来没有工作过。如果我想他们工作,然后我需要的是这样的:
my %stash = %My::Package::;
### %stash
还做了一些其他的招数可爱,而如果你阅读的文档,你可以看到。
一个选项是使用Data::Dumper::Perltidy这是一个(或多或少)用于Data :: Dumper :: Dumper()的插入替换,但它使用Perltidy格式化输出。
Data::Dumper::Concise是另一种可能性。
use Data::Dumper::Concise;
warn Dumper($var);
等同于:
use Data::Dumper;
{
local $Data::Dumper::Terse = 1;
local $Data::Dumper::Indent = 1;
local $Data::Dumper::Useqq = 1;
local $Data::Dumper::Deparse = 1;
local $Data::Dumper::Quotekeys = 0;
local $Data::Dumper::Sortkeys = 1;
warn Dumper($var);
}
- 1. 如何将Data :: Dumper输出转换回Perl数据结构?
- 2. Perl hash Data :: Dumper
- 3. 控制台输出格式
- 4. 控制台输出格式
- 5. Data :: Dumper包装第二个字的输出
- 6. Perl eval Data :: Dumper不一致
- 7. 格式化C++控制台输出
- 8. C++控制台 - 格式化输出
- 9. 来自Perl Dumper的意外输出
- 10. 如何使用XUnit控制台输出NUnit格式的xml?
- 11. 如何控制ASP.Net Web服务中的输出格式
- 12. 如何控制xs:decimal值的XSLT输出格式?
- 13. Perl:将哈希引用(例如Dumper的输出)格式化为字符串
- 14. 如何在Vim quickfix中控制错误输出格式?
- 15. 什么是Data :: Dumper()的副作用?
- 16. 正在检索Data :: Dumper元素
- 17. 如何控制格式MembershipUser.ResetPassword()
- 18. 如何格式化输出
- 19. 如何格式化输出
- 20. 在Data :: Dumper中是否有与Perls的Dumper()方法等价的C?
- 21. 如何防止使用`Data :: Dumper`打印变量名称
- 22. 如何控制fileno的输出?
- 23. 如何控制输出的增益?
- 24. 如何输出到iPhone的控制台?
- 25. 如何创建一个风格控制台输出,如Facebook
- 26. 如何以可绘制表格格式输出PHP结果
- 27. 格式输出
- 28. 如何打开NetBeans输出控制台中的包装模式?
- 29. 格式的XML输出
- 30. 如何格式化PSObject的输出?
它到底是你不喜欢数据::翻车机的输出是什么? – innaM 2009-10-20 15:47:55
回应Manni:您应该阅读文档并指出您需要的其他改进,而不是通过调整参数可以实现的改进。 – 2009-10-20 15:54:59
我希望你不会把它用于制作,因为那将是我能看到你想让它变得更漂亮的唯一原因。它显示了数据结构。它不应该是漂亮的。 – 2009-10-20 22:22:49