$body =~ s/(>[^;^>]+);/<font color=blue>$1<\/font>/g;
すいません。わすれてました
でもこれで大丈夫のようです。

なぜか改行はいっても大丈夫(色がかわらない)のですが、なんででしょうか?
べつに変わらなくてよいのでいいんですけども、理由が気になります。