データをtextareaに表示するときの質問です

$textarea = "AAA<BR>";の場合
$textarea = ~ s/<BR>/\n/g;で
テキストエリアではAAA改行となりますが

$textarea = "<BR>";の場合
$textarea =~s/<BR>/\n/g;で
テキストエリアの中は改行になっていません(カーソルが1つ下に下がりません)

そこで$textarea =~/<BR>/\r\n/g;にするとテキストエリアの中では改行になっていますが
これだとwindowsの場合だけですよね?
OSに関係なく上手く表示できるようにするにはどうすればいいんですか?

print "<TEXTAREA ROWS=100 COLS=100>$textarea</TEXTAREA>";