dポイントプレゼントキャンペーン実施中!

Perlで、「空文字列(""), ゼロ(0), ゼロを示す文字列("0")の値は偽として、それ以外は真」との決まりはあるようですが、どうもコードを書いていてわかりにくいので、TRUE、FALSEと言う文字で、1、0を表したいのですが、何か良い方法はありますか???

$TRUE=1;
$FALSE=0;

以外でお願いします。

A 回答 (2件)

Perlのやり方に慣れた方がいいと思うけど。


constantモジュール使えばできますが。

use constant TRUE => 1;
use constant FALSE => 0;

print TRUE;
    • good
    • 0
この回答へのお礼

ありがとう御座います。
なるほど、そういう手があったのですね!

やはり、いろいろな人に聞くと本当に勉強になります。
今後もよろしくお願い致します。

お礼日時:2004/05/17 19:21

 ちなみに、英数字のみで構成された文字列は、"" で囲っていなくても文字列として認識されます。



 なので、

  if ( getError() eq TRUE ) { exit; }

  sub getError {
    .....
    .....
    return TRUE;
  }

 このようなコードの場合、 TRUE の部分は "TRUE" というふうに、"" で囲った場合と同じように扱われます。
 まぁ、あんましスマートじゃないですけど、参考になれば幸いです。

 
    • good
    • 0
この回答へのお礼

この
if (&getError() eq TRUE) {exit;}
sub getError {
   return TRUE;
}
の書き方も結構わかりやすく、参考になりましたが、

なるほど、それで、$in{PATH}とかは、$in{"PATH"}と書かなくてもいいわけですね…。

初めて、それが理解できました。

関数の頭の&の有無も多分、何か、薀蓄があるのでしょう…。

幸いどころか、非常に参考になりました。

また、よろしくお願い致します。

お礼日時:2004/05/17 19:28

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