プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。PERLは初心者で、なぜか、既存プログラムの解析を行うことになり、ご質問申し上げます。
if (1 == 0) {
$UID = 'XXXXXXX';
$TARGET = 'XXXXXXX';
$MODE = 'M';
$SAMPLEMAKE = 1;
}
とあるcgiの中にという記述があり、どうもデバック用のロジックのような気もするのですが、そもそもPERLで
if (1 == 0)
と書くと1イコール0か?ってことですよね?
そもそもそんなことありえないと思っているのですが、
どういう意味なのでしょうか?
よろしくお願いいたします。

A 回答 (2件)

> どういう意味なのでしょうか?



そのまんま1と0が等価(イコール)かどうかの式ですね。
デバック用ということであれば、デバックモードで動作させるときだけ
1 == 1
または
0 == 0
と書き換えて
$UID = 'XXXXXXX';
$TARGET = 'XXXXXXX';
$MODE = 'M';
$SAMPLEMAKE = 1;
を定義させたいのかもしれません。
が、これだけでは何をするためのプログラムなのか分からないので確信はもてませんけど・・・。
(早い話が作者に訊くのが手っ取り早いです)
    • good
    • 0
この回答へのお礼

ありがとうございました。想像どおりでしたが、確認できてよかったです。(ちなみに、前担当者はもうやめてしまっていないのです・・・。PERL初心者の私にとって、プログラムが仕様書、というのはちょっときついです)

お礼日時:2005/04/04 10:36

デバッグ用の為の行と思われます。


if (1==0)は成立しないため、そのif文内のステップは実行されません。
そのステップを実行したいときに
if (1==1)と、置き換えれば、常に実行されることに
なります。
perlの場合、行の先頭に#をつければコメントになりますが、複数行を一度にコメントアウトする機能がないので、このようにされているのでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございました。確認できてよかったです。
確かに全部の行に#をつけていくと、何らかのミスが起こりえますが、0を1に変えるだけならミスの確立は減りますね。勉強になりました。

お礼日時:2005/04/04 10:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!