2012-03-27 10 views
8

का उपयोग कर चर नाम को प्रिंट करने से कैसे रोकें I कॉन्फ़िगरेशन के साथ एक perl हैश मुद्रित करने के लिए Data::Dumper का उपयोग कर रहा हूं, जिसका मूल्यांकन किसी अन्य स्क्रिप्ट द्वारा किया जाएगा। समस्या यह है कि यह आउटपुट की शुरुआत में हमेशा $VAR = प्रिंट करता है। मैंने खाली स्ट्रिंग के लिए Varname पैरामीटर की सेटिंग्स की कोशिश की, लेकिन फिर मुझे $VAR के बजाय $1 मिल गया। मैं 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

यह चाल है - धन्यवाद! –

6

या OO सिंटैक्स का उपयोग करें:

print Data::Dumper->new([ {-PARAMS => 1 } ])->Terse(1)->Dump; 
संबंधित मुद्दे