in reply to Adding href where needed.

my $newcontent = _translateLinks2($initcontent); # sub _translateLinks2 { my $content = shift; my @all = split(/ /,$content); my $skip = 0; my @trans; for my $a (@all) { # print "{ $a }\n"; if ($a =~ m#<a#i) { $skip = 1; } # print "skip : $skip\n"; if ($skip == 0 && $a =~ m#http#i) { if ($a =~ m#^(\n|\r)#) { $a =~ s/\n|\r//gis; $a = qq(\n<a href="$a">$a</a>); } elsif ($a =~ m#(\n|\r)$#) { $a =~ s/\n|\r//gis; $a = qq(<a href="$a">$a</a>\n); } else { $a = qq(<a href="$a">$a</a>); } } elsif ($skip == 0 && $a =~ m#\w+\.com|\w+\.net|\w+\.org|\w+\.gov#i +) { if ($a =~ m#^(\n|\r)#) { $a =~ s/\n|\r//gis; $a = qq(\n<a href="http://$a">http://$a</a>); } elsif ($a =~ m#(\n|\r)$#) { $a =~ s/\n|\r//gis; $a = qq(<a href="http://$a">http://$a</a>\n); } else { $a = qq(<a href="http://$a">http://$a</a>); } } # print "[[ $a ]]\n"; if ($a =~ m#<\/a>#i) { $skip = 0; } push (@trans,$a); } my $translated = join (' ',@trans); return $translated; }