今、htmlファイルを読み込み、そこに新たなデータを付け加えてまたhtmlに書き出すスクリプトを作っています。

$name3 = '../../name.html';

open IN,"$name3";
@UP = <IN>;
close IN;

$temp = <<"TEMP";
<!--NEW UP-->
<div>
<p>$date</p>
<p>$name1</p>
<p>$name2</td>
</div>
TEMP

foreach $upd (@UP){
$upd =~ s/<!--NEW UP-->/$temp/;
}

open IN, ">$name3";
print IN @UP;
close IN;

というように書いてみたのですが、name3.htmlに書き出してくれません。
どう書いたら、htmlを書き出してくれるでしょうか?