$VAR1 = { 'soap' => { 'Response1' => { 'response2' => { 'response3' => [ { 'tag1' => 'value1', 'tag2' => 'value2', 'tag3' => 'value3', }, { 'tag1' => 'value4', 'tag2' => 'value5', 'tag3' => 'value6', }, { 'tag1' => 'value7', 'tag2' => 'value8', 'tag3' => 'value9', 'tag4' => '' } ] }, 'xmlns:ns2' => 'http://test.com/' } }, 'xmlns:soap' => 'http://schemas.xmlsoap.org/soap/envelope/' }; #### use XML::Simple; use Data::Dumper; $xml = new XML::Simple(KeyAttr=>('response3'),ForceArray=>('response3')); $data = $xml->XMLin("c:\\b.xml") or die $_; print Dumper($data); print"\nStartPrinting First Statement"; print "Data=$data->{'soap'}->{'Response1'}->{'response2'}->{'response3'}->[0]->{'tag1'}";