use warnings; use strict; use XML::Twig qw(); use Data::Dumper qw(Dumper); $Data::Dumper::Sortkeys = 1; my $xml = < Product description. some url Product name XML my $twig = XML::Twig->new( twig_handlers => { category => \&category }, ); $twig->parse($xml); sub category { my ($t, $cat) = @_; print Dumper($cat->atts()); } __END__ $VAR1 = { 'catname' => 'Books', 'id' => 'xyz', 'name' => 'Books' };