Что-то никак не вкурю.
Допустим есть такой xml:
<root>
<alpha>
<beta>1</beta>
<beta>
<gamma>2</gamma>
</beta>
<beta>3</beta>
</alpha>
</root>
Хотелось бы положить все <beta>, которые не содержат вложенных тегов (1 и 3) в массив @beta, а все <gamma> в массив @gamma.
И как?
use XML::Twig;
my $twig = XML::Twig->new;
$twig->parsefile('file.xml');
my $root = $twig->root;
my $alpha = $root->first_child('alpha');
А дальше как?
my @beta = $alpha->children('beta') утащит в массив всё подряд.
А для того, чтобы до гаммы добратся, что делать?