use strict; use warnings; use HTML::TokeParser; my $p = HTML::TokeParser->new("index.html") or die "Can't open: $!"; my @results; while (my $t = $p->get_tag( 'div' ) ){ my $text = $p->get_trimmed_text( '/div' ); push @results, $text; } print join "\n", @results;