use warnings; use strict; use HTML::Parser; my $html = do { local $/; <> }; my @text; my $p = HTML::Parser->new(text_h=> [\@text, 'dtext']); $p->parse($html); print map { $_->[0] } @text;