#!/usr/bin/perl use strict; use warnings; use HTML::Parser; my $html_file = './test.html'; my @search = qw(Hallo Welt test); my $string = ""; my $parser = HTML::Parser->new( api_version => 3, start_h => [\&start,"self,tagname,attr"], text_h => [\&text,"self,dtext"], end_h => [\&end,"self,tagname"]); print "parse..."; $parser->parse_file($html_file); print "done\n"; for my $word(@search){ if($string =~ /$word/){ print $word," gefunden\n"; } } sub start{ my ($self,$tag,$attr) = @_; if($tag eq 'div' && $attr->{class} eq 'scroll'){ $self->{search} = 1; } } sub text{ my ($self,$dtext) = @_; $string .= $dtext if($self->{search}); } sub end{ my ($self,$tag) = @_; if($tag eq 'div'){ $self->{search} = 0; } }