perlのCGIでの置換について教えてください。

テンプレートhtml内の一部を書き換えたいのですがうまくできません。
たとえば、タイトル部分などテンプレート内にあるものの書き換えです。

$skinfile = 'temp.html';
##########スキンファイルを開く##########
open(FILE,"$skinfile")||&error("No skin.html");
@skin=<FILE>;
$skin="@skin";
close(FILE);
($skin_head,$skin_foot)=split(/##split##/,$skin);

$skin_head = ~ s/#title#/このページのタイトル/;
print "Content-type: text/html\n\n";
print "$skin_head\n";

このようにしてみたのですが、「$skin_head」の部分が全く表示されなくなってしまいました。
置換の仕方が間違っていると思うのですが、この場合どのようにしたらよいでしょうか?