2012-03-27 39 views
8

我正在使用Data::Dumper來打印帶有配置的perl hash,這將由另一個腳本進行評估。問題是它始終在輸出開始時打印$VAR =。我試着設置Varname參數爲空字符串,但後來我得到$1而不是$VAR。如何防止使用Dumper打印變量名稱?如何防止使用`Data :: Dumper`打印變量名稱

my $params = {-PARAMS => 0} #data 

local $Data::Dumper::Purity = 1; 
local $Data::Dumper::Varname = ""; 
print Dumper($params) ; 

打印:

$1 = { 
    '-UPDATE' => 0, 
} 

我想有:

{ 
    '-UPDATE' => 0, 
} 

回答

14

只需設置$Data::Dumper::Terse = 1;,它應該工作:

$ perl -MData::Dumper -wle '$Data::Dumper::Terse = 1; print Dumper {-PARAMS => 1}' 
{ 
    '-PARAMS' => 1 
} 
+0

這樣做的竅門 - 謝謝! – 2012-03-27 08:54:31

6

或者使用OO語法:

print Data::Dumper->new([ {-PARAMS => 1 } ])->Terse(1)->Dump;