You may find XML::TreeBuilder or XML::Twig are more appropriate for your application. Consider:
use strict; use warnings; use XML::TreeBuilder; my $xml = <<XML; <?xml version='1.0' encoding='UTF-8'?> <list name="name list"> <person> <firstname>Paul</firstname> <lastname>Rutter</lastname> <age>24</age> </person> <person> <firstname>Ruth</firstname> <lastname>Brewster</lastname> <age>22</age> </person> <person> <firstname>Cas</firstname> <lastname>Creer</lastname> <age>23</age> </person> </list> XML my $root = XML::TreeBuilder->new (); $root->parse ($xml); my @firstNames = map {$_->as_text ()} $root->look_down (_tag => 'first +name'); print "TreeBuilder: @firstNames\n"; use XML::Twig; my $twig = XML::Twig->new (twig_roots => { 'person/firstname' => \&p +ushName}); @firstNames = (); $twig->parse ($xml); print "Twig: @firstNames\n"; sub pushName { my ($t, $elt) = @_; push @firstNames, $elt->text (); }
Prints:
TreeBuilder: Paul Ruth Cas Twig: Paul Ruth Cas
In reply to Re: Trees in XML
by GrandFather
in thread Trees in XML
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |