format_c@server:~/perl_scripts> cat test.pl && perl test.pl #!/usr/bin/perl use strict; use HTML::Parser; my $p = HTML::Parser->new(api_version => 3, start_h => [\&b_start_handler, "self,tagname,attr"], #report_tags => [qw(b)], ); $p->parse_file(*DATA) || die "Konnte nicht parsen: $!"; sub b_start_handler { my($self, $tag, $attr) = @_; return unless $tag eq "b"; $self->handler(text => [], '@{dtext}' ); $self->handler(end => \&b_end_handler, "self,tagname"); } sub b_end_handler { my($self, $tag) = @_; my $text = join("", @{$self->handler("text")}); $text =~ s/^\s+//; $text =~ s/\s+$//; $text =~ s/\s+/ /g; print "T $text\n" if $text =~ /^name:\s?.*/i; $self->handler("text", undef); $self->handler("start", \&b_start_handler); $self->handler("end", undef); } _ _ DATA _ _ Name: Name1 Name: Name2 Nachname2 Fetter Text Name: format_c _ _ END _ _ T Name: Name1 T Name: Name2 Nachname2 T Name: format_c format_c@server:~/perl_scripts>