#!/bin/perl5 use strict; use warnings; use HTML::TokeParser::Simple; my $p = HTML::TokeParser::Simple->new(\*DATA); my $http = q{http://domain.com}; while (my $t = $p->get_token){ if ( $t->is_start_tag(q{img}) and $t->get_attr(q{src}) ) { my $src = $t->get_attr(q{src}); if ($src !~ m|^http://|){ $src = join '/', $http, $src; $t->set_attr(src => $src); } } print $t->as_is; } __DATA__ more confusion, just in case: 3:00pm 12/12/12 other urls http://fake.com #### more confusion, just in case: 3:00pm 12/12/12 other urls http://fake.com