my $s = SOAP::Lite -> uri ('This is my URI') -> proxy ('This is my proxy.asmx') -> on_action(sub{join '/', @_}) -> on_fault(sub{}); $result = $s->PerformUpdate($data)->result; if ($result) { my $xs = new XML::Simple(keeproot => 1); my $XMLref = $xs->XMLin($result, suppressempty => ''); print $XMLref->{wellmed}->{wellmed.ack}->{errors}; } #using data dumper I get the following output $VAR1 = { 'wellmed' => { 'wellmedack' => {}, 'wellmed.ack' => { 'errors' => '0', 'wellmed.response' => 'User data updated for ID: aac20fd41e07ea11d9bfc1ac192a16aa77', 'responses' => '1' } } };