Perl/ActivePerl For UNIX/Linux/Windows
 
TryThe Homepage
初めてのCGI
CGI 研究室
ダイナミックCGI
ダウンロード
サービス
サーバ構築(Windows)
データベースアクセス
有料サービス
FAQ
お問い合わせ
このページを印刷
作ってみよう
Perl言語で記述するCGIスクリプトの先頭行には、サーバにインストールされているPerlのパスを指定しなければなりません。 一般的なUNIXでは、#!/usr/local/bin/perlか最も多いようですが、現在広まりつつあるLinuxでは、
#!/usr/bin/perlが多いようです。 プロバイダやレンタルサーバ会社によって異なりますのでお問い合わせください。 このパス指定は、必ずスクリプトの先頭行で、空白行や空白文字が1つでも存在すればエラーになります。 Windows系OSでは、パス指定を初期設定ファイルやレジストリで管理しますので必要ありませんので無視するよう 「#」が付けられていますが、UNIX系では重要な記述です。
  • Perlを記述するにはテキストエディタを使用します。テキストエディタであれば何でも結構ですが、 ここではWindows標準のメモ帳を使用します。 メモ帳を開いて先頭行を空けないよう次のコードを記入してみてください。
    いちいち書くのが面倒な方はこれをダウンロードしていただいても結構です。
    UNIXの改行コードですので、表示できない場合は、リンクを右クリックして、「対象をファイルに保存」を選択します。

    Perlは、先頭行以外、文法にさえ誤りが無ければどのように記述して問題はありません。
    このコードを「firstcgi.cgi」と名前を付けて保存します。

  • 前章で解説したとおりFFFTPを使ってアスキーモードでサーバに転送、パーミッションを755に設定してください。

  • ブラウザを起動してアドレスバーからfirstcgi.cgiを設置したアドレスをフルパス(http://から)で指定したアクセスします。
    たとえば、
    http://www.tryhp.net/cgi-bin/firstcgi.cgi

    初めて書いたCGI

    と表示されるはずです。

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.
    More information about this error may be available in the server error log.

    Apache/1.3.23 Server at tryhp.jpn.ph Port 80
    このようなエラーメッセージが表示されるてもあわてる必要はありません。
    もう一度次の事柄を確認してください。
    1. 記述したスクリプトに誤りが無いかを確認します。 特にPerlのパスは重要です。#!/usr/local/bin/perlでだめな場合は、#!/usr/bin/perlに変更してみてください。
    2. 保存時のファイル名が「startup.cgi」になっていますか。
    3. FFFTPでアップロードするとき、アスキーモードになっていますか。 Windowsサーバの場合はバイナリモードで結構です。
    4. パーミッションを「755」に設定しましたか。
Copyright 2004 Terra. All rights reserved. No reproduction or republication without written