my $xml = q{}; use XML::LibXML; my $p = XML::LibXML->new; my $doc = $p->parse_string($xml); my $root = $doc->documentElement; my ($pp) = $root->findnodes("pp"); for my $field ( qw/ uid ppn ethAddr hwType /) { say $pp->getAttribute($field) } __END__ 3 1 00:30:42:0F:F2:7D 630d