my $Parser = HTML::Parser->new(
api_version => 3,
handlers => [
start => [\&start_handler, 'tagname,text'],
text => [\&text_handler, "text"],
end => [\&end_handler, "tagname,text"],
],
);
$Parser->parse($content);
$Parser->eof();
print $inner_body;
sub start_handler {
my $tagname = shift;
if ( $tagname eq 'body' ) {
$in_body = 1;
return;
}
return unless $in_body;
my $text = shift;
$inner_body .= $text;
}
sub text_handler {
my $text = shift;
return unless $in_body;
$inner_body .= $text;
}
sub end_handler {
my $tagname = shift;
if ( $tagname eq 'body' ) {
$in_body = 0;
return;
}
return unless $in_body;
my $text = shift;
$inner_body .= $text;
}