2014-03-04 103 views
0

为了调试目的,我必须打印下面的哈希。可有一个人帮我在这是我在复杂的数据结构小新:如何打印perl中的复杂数据(哈希阵列)结构

use strict; 
use warnings; 

my $issueMap; 

$issueMap = { 
     'project' => SOAP::Data->type(string => "abc"), 
     'type' => SOAP::Data->type(string => "3"), 
     'summary' => SOAP::Data->type(string => $title), #issueDesc 
     'description' => SOAP::Data->type(string => $issueDesc), 
     'components' => [{'id' => SOAP::Data->type(string => $component_id)}], 
     'customFieldValues' => SOAP::Data->type('Array' => [ 
       { 'customfieldId' => SOAP::Data->type(string => 'customfield_10933'), values => [ SOAP::Data->type(string => $acbPath) ] }, 
       { 'customfieldId' => SOAP::Data->type(string => 'customfield_10934'), values => [ SOAP::Data->type(string => $Path) ] }, 
       { 'customfieldId' => SOAP::Data->type(string => 'customfield_10935'), values => [ SOAP::Data->type(string => $logPath) ] }, 
       { 'customfieldId' => SOAP::Data->type(string => 'customfield_10071'), values => [ SOAP::Data->type(string => "PROD") ] }, 
       { 'customfieldId' => SOAP::Data->type(string => 'customfield_10544'), values => [ SOAP::Data->type(string => $check_area) ] }, 
       { 'customfieldId' => SOAP::Data->type(string => 'customfield_10842'), values => [ SOAP::Data->type(string => "Unavailable") ] }, 
       { 'customfieldId' => SOAP::Data->type(string => 'customfield_14927'), values => [ SOAP::Data->type(string => "Unavailable") ] }, 
       { 'customfieldId' => SOAP::Data->type(string => 'customfield_14930'), values => [ SOAP::Data->type(string => $mcn) ] }, #MCN 
       { 'customfieldId' => SOAP::Data->type(string => 'customfield_14929'), values => [ SOAP::Data->type(string => $serialno) ] }, #SERIAL 
       { 'customfieldId' => SOAP::Data->type(string => 'customfield_10060'), values => [ SOAP::Data->type(string => "$user_runner") ] } #user 
     ]) 
    }; 

    Debug 
    foreach my $check (%{$issueMap}) 
    { 
     print $issueMap ->$check."\n"; 
    } 


Error : Can't call method "customFieldValues" on unblessed reference during printing hash. 
+2

'use Data :: Dumper;打印Dumper($ issueMap);' –

+0

@DanielKamilKozar:您应该将其作为答案发布。 – Borodin

+0

@Borodin:恩,我很好。 :) –

回答

1

我开始使用DDP(简称Data::Printer),它给出了一个更清洁,漂亮的彩色和灵活的输出,而不是吨在屏幕上产生两三次的行页。

use DDP; 

p $issueMap; 

看看Customization of Data::Printer了许多选项,如expand,使之更深入的结构。