CGIスクリプト中で、HTMLを表示するときに、
『print文』や『ヒアドキュメント』を使用するのですが、ただ単に文字を表示させることはできます。
ところが、入力フォームを表示させようとするとエラーになってしまいます。
言語はperlです。

print "<html>";
print "<HEAD><TITLE>ID PASS</TITLE></HEAD>";
print "<body>一致したよ";
print "<form method="get" action="kakikomi.cgi">";
print "<input type="hidden" name="kakusuid" value="$ide">";
print "<input type="hidden" name="kakusupassw" value="$passw">";
print "<input type="submit" value="toukou">";
print "</form>";
print "</body>";
print "</HTML>";

エラーの種類は二種類出てきます。
一つは、構文エラーで、
もう一つは『使用できない文字があります』
の二つです。
後者のエラーは、スクリプト中の"toukou"を"投稿"としたら出てしまいます。しかし、スクリプト前半の『一致したよ』という日本語はしっかり認識されているのに…です。
前者のエラーは、"投稿"を"toukou"とすると出てきます。
しかし、どこが間違っているのか、全く理解できません。
もしかしたら、CGIスクリプトの中では入力フォームは使えないのではないかと思っています。

上記のスクリプトの前後は省略していますが、フォーム入力に関する何行かをコメント扱いしたら、しっかり動いてくれるのです。しかも、『一致したよ』という日本語も表示してくれます。

尚、スクリプト中の変数は、すべて省略部分にて定義してあります。

どなたか、このスクリプトの間違いを教えてくださいませんでしょうか?

よろしくお願いします。