use strict; use warnings; use XML::Rules; my $xml = < --removed-- english ---removed--- rear extended bumpstops XML my @rules = ( category => sub { my $r = $_[1]; print "Category: $r->{label}\n"; }, keywords => sub { my $r = $_[1]; print "Keywords: $r->{text}\n"; }, keyword => 'pass no content', _default => 'content', ); my $xr = XML::Rules->new( rules => \@rules ); $xr->parse($xml);