Perlで and, &&, or, || の違いと便利な使い道
これらは、論理演算子で、普通、if文で使用します。
今回は、andと&&等の違いやif文以外の便利な使い道などを紹介します。
違い
andと&&、orと|| は、各々同じものですが、演算子の優先順位が異なります。
Perl5から導入された、優先順位の低い andと orを使う方が推奨とのことです。
(優先順位の低い方が、他の演算子との影響が小さいため)
便利な使い道
or論理演算子は、A or Bで、どちらか一方が真ならば真となります。
Aが真であれば、Bの真偽に関係なく真となるため、Bの評価は行わないです。
これを利用して、Aが偽のときにBを行うのに、orが使われます。
# ファイルを開く。開けなければメッセージを出して終了。 open (IN, "file.txt") or die "Cannot open the file\n";
and論理演算子は、A and Bで、両方とも真でなければ真にならないです。
Aが偽であれば、Bの真偽に関係なく偽となるため、Bの評価は行わないです。
これを利用して、Aが真のときにBを行うのに、andが使われます。
# ファイルを開く。開ければ1レコードを$dataに読み込む。 open (IN, "file.txt") and $data =;