論理演算に使う「or」なんですが、制御構文ifと組み合わせて以下のような使い方をしてみました。

$data01='aaa';
$data02='あああ';
$data03='test';

if ($data01 =~ m/aaa/ or $data02 =~ m/あああ/ or &data03 =~ m/test/){
特定の処理;
}

このorによる論理演算ははどこまでできるのでしょうか?
上のスクリプトは問題なく動いていますが、ちょっと不安です。
専門書を見ても、orによる論理演算は<条件1 or 条件2>としか書いてなく
<条件1 or 条件2 or 条件3 or ・・・>と書いても大丈夫なのでしょうか?
いくつもの比較はorを使わないほうがよろしいとは思うんですが、このorが便利なのでこれで済むなら使いたいと思います。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

> このorによる論理演算ははどこまでできるのでしょうか?



どこまででもできます。特に制限はありません。
(Perl 内部のメモリ領域等による制限はあるかも知れませんが、実質的には無制限と思って差し支えないでしょう。)

> <条件1 or 条件2 or 条件3 or ・・・>と書いても大丈夫なのでしょうか?

1つの「条件」には、どのような式でも当てはめることができますので、「<条件1 or 条件2> という1つの条件」と考えれば、すっきりすると思います。
つまり、<条件1 or 条件2>を 条件1' と置き換えれば、<条件1 or 条件2 or 条件3>というのは、<条件1' or 条件3>となります。
以下、どんなに条件の数が多くなっても、同じことです。

どうもうまく説明できないのですが、おわかりいただけましたでしょうか?
    • good
    • 0

 大丈夫です。

どこまでも使えます。
 特に制限はありませんし、あまり使わない方がよい、なんて話も聞いたこともありません。

 俺はできるだけ「||」を使うようにしていますが、これは計算演算子「|」と区別するためです。
 「or」ではこの区別がつかないので、場合によって想定とは違う動きをすることがあるかもしれませんが、デバッグをしっかりやっておけば特に問題ないかと思います。
    • good
    • 0

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


人気Q&Aランキング

おすすめ情報