- ベストアンサー
TRUE、FALSEと言う文字で、1、0を表したいのですが・・・
Perlで、「空文字列(""), ゼロ(0), ゼロを示す文字列("0")の値は偽として、それ以外は真」との決まりはあるようですが、どうもコードを書いていてわかりにくいので、TRUE、FALSEと言う文字で、1、0を表したいのですが、何か良い方法はありますか??? $TRUE=1; $FALSE=0; 以外でお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Perlのやり方に慣れた方がいいと思うけど。 constantモジュール使えばできますが。 use constant TRUE => 1; use constant FALSE => 0; print TRUE;
その他の回答 (1)
ちなみに、英数字のみで構成された文字列は、"" で囲っていなくても文字列として認識されます。 なので、 if ( getError() eq TRUE ) { exit; } sub getError { ..... ..... return TRUE; } このようなコードの場合、 TRUE の部分は "TRUE" というふうに、"" で囲った場合と同じように扱われます。 まぁ、あんましスマートじゃないですけど、参考になれば幸いです。
お礼
この if (&getError() eq TRUE) {exit;} sub getError { return TRUE; } の書き方も結構わかりやすく、参考になりましたが、 なるほど、それで、$in{PATH}とかは、$in{"PATH"}と書かなくてもいいわけですね…。 初めて、それが理解できました。 関数の頭の&の有無も多分、何か、薀蓄があるのでしょう…。 幸いどころか、非常に参考になりました。 また、よろしくお願い致します。
お礼
ありがとう御座います。 なるほど、そういう手があったのですね! やはり、いろいろな人に聞くと本当に勉強になります。 今後もよろしくお願い致します。