#! /usr/bin/perl
use strict;
use HTML::Parser;
my @links;
my $string = qq~
fetter text Ein anderer Text
kursiver text text
~;
my $p = HTML::Parser->new();
$p->handler(start => \&start_handler,"tagname,self");
$p->parse($string);
foreach my $link(@links){
print "Tag:\t",$link->[0],"\nText:\t",$link->[1],"\n\n";
}
<>;
sub start_handler{
my $tag = shift;
my $self = shift;
my $text;
$self->handler(text => sub{$text = shift;}, 'text');
$self->handler(end => sub{push(@links,[$tag,$text])});
}