'timeResult' => [ { 'success' => 'false', 'connection' => 'eth1', 'portResponse' => 'OK', 'ns5:snmpType' => { 'cd5:targetType' => 'eth', 'name' => 'string1', 'cd5:protocol' => 'udp', }, 'localTime' => '2008-12-04T' } #### use XML::XPath; # ## create object my $xml = XML::XPath->new(filename => '/sources/sample.xml'); # foreach my $row ($xml->findnodes('/touchResult/scanResult')) { my $success = $row->find('success')->string_value; my $portResponse = $row->find('portResponse')->string_value; my $localTime = $row->find('localTime')->string_value; ....; }