- ベストアンサー
初歩的なCGIですが
#!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD><TITLE>perlテスト</TITLE></HEAD>\n"; print "<BODY>\n"; print "本文1<BR>\n"; print "本文2<BR>\n"; print "</BODY>\n"; print "</HTML>\n"; 上記プログラムをFTPサーバにアップロードして、perlプログラム内では正しい結果が出たのですが、ブラウザ上で確認したら、htmlのタグが除かれた状態のソースが出てきました。 正しい結果をブラウザ上で表示させるにはどうすればいいのでしょうか?教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 なるほど。まずタグが表示されない物の状態理解しました。 先ほど説明した通りブラウザ上では<>で囲まれたものはタグと解釈され表示されません。 表示されている内容を見ると、CGIとして動作していないようです。 パーミッションの設定というよりはもっと前の「使用しているサーバはperlをCGIとして実行できるのか」というところでしょう。 サーバの仕様を確認してみてください。 と、今気づいたのですが、 >上記プログラムをFTPサーバにアップロードして というのはウェブサーバにFTPを使用してアップロードしたのですよね?
その他の回答 (2)
- canaanium
- ベストアンサー率47% (106/224)
こんばんは。 perlのパス #!/usr/local/bin/perl はあっている、 パーミッションもあっている(おそらく755か705)という前提でお答えさせていただきます。 最後の行に exit; と入力してください。 ------------------------------ #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD><TITLE>perlテスト</TITLE></HEAD>\n"; print "<BODY>\n"; print "本文1<BR>\n"; print "本文2<BR>\n"; print "</BODY>\n"; print "</HTML>\n"; exit; ------------------------------ 以上で、ブラウザに 本文1 本文2 と表示されるはずです。
- LancerVII
- ベストアンサー率51% (1060/2054)
ブラウザ上で確認した際にタグが除かれてるのは 正しい結果だと思うのですがいかがでしょうか。 コマンドプロンプト等で実行した際は <html> <head> ・・・・・・・・ ・・・・・・・・ と表示されると思いますが、ブラウザで確認した場合、 サーバ上で処理され、結果としては上と同じ物が実行されてますが ブラウザ上でタグはあたりまえのように表示されません。 ブラウザからソースの表示をすればタグも含めた物が見えると思います。 ソースを見た上でタグがないのであればおかしいですが。
補足
実際は、 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "\n"; print "\n"; print "\n"; print "本文1 \n"; print "本文2 \n"; print "\n"; print "\n"; とブラウザ上に表示されます。
お礼
回答いただきありがとうございます。 管理者に確認したところ、サーバの仕様の誤った場所にファイルを設置してました。