#!/usr/local/bin/perl use strict; use warnings; use XML::LibXML; my $xml = <<_XML; POWERED USB POWERED State DEFAULT USB DEFAULT State ADDRESS USB ADDRESS State DEFAULT HOT_RST 1 HOT_reset_to_DEFAULT _XML my $parser = XML::LibXML->new(); my $doc = $parser->parse_string( $xml ); my $root = $doc->getDocumentElement; my @nodes = $root->findnodes( '/GEN_FSM/State/Name' ); foreach my $node ( @nodes ) { print $node->textContent, "\n"; }