$ban_word='*';
if($comment=~ /$ban_word/){&error();}

上記ケースにおいて、$ban_wordに「*」や「+」が指定されると構文エラーになります。
$comment=~ /*/をやればエラーになるのは明白なので原因はまあいいんですが、
Perlの組み込み関数に「メタ文字をすべてエスケープしてくれる」関数はなかったでしょうか。確か、
&escMeta('文字列');
みたいな使い方をすると文字列中の「*」は「\*」にエスケープされるような・・・
うろ覚えなのですが、心当たりありましたらご教授願います。