use HTML::TokeParser::Simple; my $p = HTML::TokeParser::Simple->new(*DATA); while ( my $token = $p->get_token() ) { if ( $token->is_text() ) { $token->[1] =~ s/2004/2006/; } print $token->as_is; } __DATA__

Euro 2004 : The English were robbed

We will have revenge in the 2006 World Cup!