• ベストアンサー

1==0 ?

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

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.2

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

cshoaucmoa
質問者

お礼

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

その他の回答 (1)

  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.1

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

cshoaucmoa
質問者

お礼

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