use strict; use XML::Rules; open MODULE, '>', 'splitXML-test-Module.xml'; print MODULE "\n \n"; open OTHER, '>', 'splitXML-test-Other.xml'; print OTHER "\n \n"; my $parser = XML::Rules->new(rules => { Root => '', Top => '', Module => [ '/Root/Top' => sub { my ($tag_name, $attrs, $context, $parent_data, $parser) = @_; print MODULE ' ' . $parser->ToXML($tag_name, $attrs) . "\n"; return; }, 'raw' ], _default => [ '/Root/Top' => sub { my ($tag_name, $attrs, $context, $parent_data, $parser) = @_; print OTHER ' ' . $parser->ToXML($tag_name, $attrs) . "\n"; return; }, 'raw' ] }); $parser->parse(\*DATA); print MODULE " \n\n"; print OTHER " \n\n"; __DATA__