#!/usr/bin/perl use strict; use warnings; use HTML::TokeParser::Simple; my $html; { local $/ = undef; $html = } my $tp = HTML::TokeParser::Simple->new(\$html) or die "Couldn't parse $html: $!"; my (@results); while (my $t = $tp->get_token) { if ($t->is_start_tag('img')){ push @results, $t->get_attr('src'); } elsif ($t->is_text){ push @results, $t->as_is; } } print "*$_*\n" for @results; __DATA__

Image001 Description of image here
Image002 Description of image here