こんにちは。よろしくお願いします。
Perl担当者の方が休まれているため、急遽、Perlシステムの修正作業を行うことになったPerl初心者の者です。
普段はASPを使っているので、デバッグ時に「response.write」など、処理内容をブラウザ上に表示させてしまう~などのことが可能なのですが。。。
Perlの場合、何か方法は無いでしょうか??
多分、この変数とこの入力値の比較の時に不正があるんだろ??のような部分は発見したのですが。。。その値~の表示ができないので、確証が持てない&修正が容易ではないです。
Perlのデバッグは。。。どのように行っているのでしょうか。。。?
ご存知の方いましたら、ご教授願えませんでしょうか。よろしくお願いします。
(エラーについての質問は別で立てさせていただきたいと思います。
No.3
- 回答日時:
KENT WEBさん(
http://www.kent-web.com/)が配布されているPerlの文法チェッカ「Perl Checker」を使ってみるのもいいかもしれません。トップページから「ユーティリティ」のリンクを辿るとダウンロードページにいけます。
参考URL:http://www.kent-web.com/
こんにちは。回答ありがとうございます。
文法チェック。
強い味方~ですねぇ。
打って、エラーメッセージなどで確認しようとしても、たまに追いかけられませんからねぇ。。。
文法のエラーだったりしたらへこみますし(汗
どんな風になるのか使ってみたいと思います。
どうもありがとうございました。
No.2ベストアンサー
- 回答日時:
> 多分そのように思います。
(「.cgi」や>「.pl」拡張子は、CGIスクリプト。という> 覚え方であっていればですが。.plはシェルのコマンドラインで起動するファイルにも
使いますのでなんともいえませんが、
.cgiという拡張子ならまあCGI用でしょうね。
日本語のドキュメントがあるかどうかわかりませんが、
CGI::Carpには、メッセージの出力先を切り替える
メソッドがあります。
ちょっと引用すると
The carpout() function requires one argument, which should be a
reference to an open filehandle for writing errors. It should be called
in a "BEGIN" block at the top of the CGI application so that compiler
errors will be caught. Example:
BEGIN {
use CGI::Carp qw(carpout);
open(LOG, ">>/usr/local/cgi-logs/mycgi-log") or
die("Unable to open mycgi-log: $!\n");
carpout(LOG);
}
とすると、
Perlからのログ出力が
/usr/local/cgi-logs/mycgi-log
になります。
ここを適当なディレクトリと名前にしてやってみてはどうでしょう。
詳しい説明はPerlがインストールされている環境で
perldoc CGI::Carp
とすればでてきます。
ちょっと余計なことかもしれませんが、別の質問において提示されている
プログラム片を見る限りずいぶんと古いスタイルでお書きのようですね。
歴史があるプログラムかもしれませんが、もうちょっと
担当者の方は勉強されたほうが良いかと思います。
あともう一つ。
サーバソフトがわからなかったので前回の回答で
httpdと書きましたが、IISらしいということがわかりましたので
IISのログを調べてみてください。
IISは使ったことないので具体的に、「ここだよっ」
とはいえませんが。
たびたびの回答ありがとうございます。
非常に助かります。
教えていただいたものを検索して
http://www.perl-labo.org/basic/debug/
ブラウザにそのまま表示する~方法もあるようなので、そちらを適用してみました。
ちょっとメッセージ内容が分かりづらいですが^^;
ファイルに吐き出す~方法も、使えるようにしておきたいと思います。
ありがとうございました。
>>歴史のあるプログラム
かもしれません。。。
開発したの自体が数年前のもののはずなので。。。
改版作業が入るかどうかは不明ですが、新しい技術~は常に勉強しておけるよう努力したいと思います。
助かりました。
どうもありがとうございました。
No.1
- 回答日時:
CGIスクリプトのデバッグだったりしますか?
Perlを知らない人に伝わるように説明できる自信はありませんが、
エラーメッセージの出力先を切り替えてログに残すようにできます。
モジュールを使っていいのなら、
use CGI::Carp;
して
warn "\$fooの値が変じゃね? ($foo)";
とかすればOK。
とくに指定しなければ httpd のログに残ります。
> ご教授願えませんでしょうか。よろしくお願いします。
教授ってのは学校でやるような系統立てた教え方ですので、
ここでするような質問で使うのはふさわしくありません。
多分「教示」と混同していると思います。
こんにちは。回答ありがとうございます。
>>CGIスクリプトのデバッグ
ん~。。。と。
多分そのように思います。(「.cgi」や「.pl」拡張子は、CGIスクリプト。という覚え方であっていればですが。
>>出力先を切り替えてログを残すようにできます。
なるほど。。。
ちょっと試してみました。
ただ。。。httpdのログ~がどこなのか分からず^^;
ASPとPerlが混在しているサーバなので、そこもややこしくしている要因のひとつかも。。。?
サーバソフトとしては、IISの方を使用しているはずですが。。。
まずは、提示していただいた文の意味と仕様~をちゃんと把握してから探っていきたいと思います。
ありがとうございます。
。。。同時に、日本語も復習しておきます_no
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
- Perl Windows10においての『Perl』のプログラムについて 1 2022/05/09 16:04
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- Perl Perlで特定文字列から特定文字列までを抜き出したい 4 2022/04/02 14:24
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- Perl Perlでファイルの末尾から指定文字列を検索してファイルに吐き出したい 4 2022/04/04 16:15
- CGI サイト訪問者の情報を取得したい 1 2023/02/21 11:03
- Perl perlについて 2 2022/11/18 19:38
- その他(プログラミング・Web制作) HTMLを組み込むことができない言語 3 2022/05/21 10:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
cgiとplとpm
-
perlをインストールしたのに使...
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
6月の第2 第4火曜日は何日...
-
apacheでPerl CGIが作動せず、5...
-
プルダウンで日付と曜日を取得する
-
[C#]ListView一覧表示時の幅設...
-
TCPヘッダのチェックサム算出方法
-
毎週同じ曜日にラブホに行くと...
-
Content-type: text/htmlが表示...
-
燃えるゴミの日は何曜日ですか?
-
[Excel] ある日の曜日が当月の"...
-
毎○曜日って、使いますか?
-
エクセルで毎月第2週日の水曜日...
-
VBAでExcelのヘッダーに文字列+...
-
ftpでのネットワークバイトオー...
-
ユーザー定義の(aaa)
-
週2回のペースって だいたい何...
-
perlでHTTP Request Headersの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
cgiとplとpm
-
perlのrequireの動き方について...
-
jcode.plが読み込めない
-
Quantifier follows nothing in...
-
require文が実行できない
-
ファイル書込時にPermission de...
-
useとrequireでエラー
-
htmlからテキストを返すperlを...
-
Perlのデバッグ方法って。。。...
-
PDFJが動作しない
-
画像のURLの変数を別のCG...
-
perlのcgiで、変数の中身を表示...
-
perlをインストールしたのに使...
-
CGIの中にinclude
-
gifcat.pl:助言お願い致します
-
phone.plというモジュールを使...
-
Perlの作動不具合、missing bra...
-
プログラムを書き足すことについて
-
Not Found 404エラー時のCGI出力
-
バイナリファイルのアップロード
おすすめ情報