use HTML::Parser; HTML::Parser->new( default_h => [sub { print shift; }, "text"], start_h => [sub { my ($text, $tagname,$attr) = @_; return print $text unless $tagname eq "img"; if ($attr->{alt}) { print "[image: \"$attr->{alt}\"]"; } else { print "[image]"; } }, "text,tagname,attr"], )->parse(join "", ); __END__
bar bar bar
bar