#!/usr/bin/perl -- use strict; use warnings; use XML::Twig; my $xml = q{ }; XML::Twig->new( twig_roots => { 'cdset' => sub { print $_->path, ' '; printf "id(%s)=%s\n", $_->att('id'), $_->att('name'); }, 'cdset/property' => sub { print $_->path, ' '; print $_->att('name'), '=', $_->att('value'),"\n"; }, }, )->parse( $xml ); __END__ /set/cdset/property Own= /set/cdset/property Type=Record /set/cdset/property Text=Sample text more sample text more more same text]. /set/cdset/property Unique=yes /set/cdset id(cdset)=CD Compilation