2012-03-27 18 views
8

kullanarak değişken adının yazdırılması nasıl engellenir Bir perl hash dosyasını başka bir komut dosyasıyla değerlendirilecek şekilde yazdırmak için Data::Dumper kullanıyorum. Sorun, çıktı başlangıcında her zaman $VAR ='u yazdırmasıdır. Varname parametresini boş dizeye ayarlamayı denedim, ancak $VAR yerine $1 aldım. Dumper kullanarak değişken adının yazdırılmasını nasıl engellerim?Data Veri :: Damper '

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

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

Baskılar:

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

Ben istiyorum:

{ 
    '-UPDATE' => 0, 
} 

cevap

14

Basitçe $Data::Dumper::Terse = 1; set ve çalışması gerekir:

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

Bu hile yaptı - teşekkürler! –

6

Ya OO sözdizimini kullanın:

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