当サイトのスクリプトは個人で使用する場合は、自由に改造をして頂いて構いません。ただし、再配布を希望する場合は、管理人への連絡が必須となります。
複数の箇所を改造する場合は、出来るだけバックアップを取って下さい。
改造によりエラーが発生した場合は、以下の方法でデバッグして下さい。
Perl Checker
「KENT WEB」さんで配布されているスクリプトです。使い方や設置がとても簡単でおすすめです。
これは文法だけでなく、パスやパーミッション値のチェックも同時に行います。問題がなければ、「syntax OK」と表示されます。詳しい説明は、スクリプト配布のページを参照して下さい。KCatch.pm
Perl CGI で発生する Internal Server Error を補足して、 エラー内容を HTML としてブラウザ画面に表示してくれるモジュールです。
行番号等が表示されますので、間違いが見つけやすくなります。
使い方は、配布されているサイトをご覧下さい。詳しく説明がされております。
オフィシャルサイト「http://www.kawa.net/works/perl/catch/news.html」でダウンロードして下さい。CGIを起動する時に全文をチェックする。
「とほほのWWW入門」さんのサイトでデバッグの方法が幾つか紹介されていますが、その中でも私がよく使っているのが以下のものです。
まず、スクリプトの2行目(1行目はperlパスです)に、以下の1行を追加します。
eval {
そして最後の行に、
};
if ($@) {
print "Content-type: text/html\n\n";
print "ERROR\n";
print "ERROR = $@\n";
}
を追加します。
eval{...}は、かっこ内の文字列をPerlの構文として実行し、その結果を返します。致命的なエラーが発生してもスクリプトを中断するのではなく、「$@」という特殊変数にエラーメッセージを送る処理を行います。
特に問題がなければ、そのままCGIが実行されますので、大規模な改造する前に、このソースを追加しておくと良いでしょう。
行番号や、間違っている理由が表示されますので、エラー箇所が発見しやすくなります。Mac OS Xでデバッグする。
この方法は、CGIを設置するサーバがUNIX系で、かつTELNETが使えれば応用出来ますが、ある程度の知識が必要です。
「CGI-Executables(HD→Library→WebServer→CGI-Executables)」というフォルダに、CGIスクリプトを移動させておきます。
次に「ターミナル」を起動して、
perl -c /Library/WebServer/CGI-Executables/xxx.cgi
と打ち込み、enterを押します。-cオプションでPerlの構文チェックを行います。「syntax OK」という文字が出れば大丈夫です。
また、-wcオプションを使うと、警告文も一緒に出ます。未使用の変数があったりすると警告文が出たりしますが、実質的なエラーにはなりません。
戻る ≫