use strict;
use XML::Rules;
my @contents = ('first trimmed content', 'second trimmed content');
my $parser = XML::Rules->new(
style => 'filter',
start_rules => {
content => 'skip',
},
rules => {
_default => 'raw',
product => sub {
my ($tag, $attr, $parser) = @_[0,1,4];
$attr->{content} = [ $contents[ $parser->{pad}++ ] ];
return $tag => $attr;
}
},
);
$parser->filter(\*DATA);
__DATA__
2008-10-15
124
heinous amount of unwanted text
red
2009/01/30
10
heinous amount of unwanted text
black
####
use strict;
use XML::Rules;
my @contents = ('first trimmed content', 'second trimmed content');
my $parser = XML::Rules->new(
style => 'filter',
ident => ' ', stripspaces => 3,
start_rules => {
content => 'skip',
},
rules => {
_default => 'content array',
product => sub {
my ($tag, $attr, $parser) = @_[0,1,4];
$attr->{content} = [ $contents[ $parser->{pad}++ ] ];
return $tag => $attr;
}
},
);
$parser->filter(\*DATA);
__DATA__
2008-10-15
124
heinous amount of unwanted text
red
2009/01/30
10
heinous amount of unwanted text
black