use strict; use XML::Rules; my $filter = XML::Rules->new( style => "filter", rules => { priority => sub { 'priority' => $_[1]{_content}+1 }, }); $filter->filter(\*DATA, \*STDOUT); #### my $filter = XML::Rules->new( style => "filter", ident => ' ', rules => { _default => 'as is', include => sub { if ($_[1]{location}{_content} =~ m{/itrstemplates/}) { $_[1]{priority}{_content}++; } delete $_[1]{_content}; # remove extra whitespace return include => $_[1] }, } );