>>843
主な問題は>>845が言ってるからいいとして・・・

print "</body></html>\n";
↑<body>は何処行ったの?


後 sub error{}について。
&error('0'); で呼び出してるみたいだが、'0'を引数にしてやる必要性なくないか?
&error; 又は &error(); で良いような。
汎用性を持たせたいなら引数にエラーメッセージを渡してやるなりとあるが、それはまた別の話