2012-06-29 48 views
2

我想打印一些解析樹,並Data::Dumper是針對非常詳細,例如印刷:Perl的Data :: Dumper是否有一個不太詳細的替代方案?

{ 
    'A' => { 
    'ID' => 'y' 
    }, 
    'OP' => '=', 
    'B' => { 
    'NUM' => '5' 
    } 
}, 

,而不是讓我們說:

{ 
    'A' => {'ID' => 'y'}, 
    'OP' => '=', 
    'B' => {'NUM' => '5'} 
}, 

,這是非常困難的,因爲閱讀它需要大量的線路。

是否有任何Perl庫可以做Data::Dumper除了更簡潔,還是我自己寫的東西?

+2

['$ Data :: Dumper :: Indent'](http://perldoc.perl.org/Data/Dumper.html#Configuration-Variables-or-Methods)的選項是否有用您? –

+0

也許,這個問題是非常有用的 http://stackoverflow.com/questions/1595557/how-can-i-control-the-formatting-of-datadumpers-output –

+1

它已經用'$數據::自卸車: :縮進= 1; $ Data :: Dumper :: Terse = 1;' – taw

回答

11

你想Data::Dump

歷史

Data::Dump模塊長大出於無奈與Sarathy的 在最-情況下,優秀的Data::Dumper。基本思想和一些代碼是與Sarathy的模塊共享的 。 Data::Dump模塊提供比Data::Dumper更簡單的接口 。

Data::Printer是一個更現代的替代與彩色輸出。

+0

這是完美的,謝謝。 – taw

+1

我知道我會抓住flak,但我更喜歡Data :: Dump到Data :: Dumper。我想這只是知道和習慣。 :-) – mswanberg

0

如果僅使用$Data::Dumper::Indent是不夠的,如果您只需要數據是人類可讀的(即用於調試),則可以嘗試使用JSON或YAML模塊系列。他們的格式足夠接近Perl自己的閱讀方式,並且有很多格式選項。

相關問題