1. Perl
  2. 演算子
  3. here

or演算子 - 優先順位が低い論理和

orはPerlの論理演算子のひとつで、論理和を表現します。||と意味は同じですが、orの方が演算子の優先順位が低く、文と文の間に利用するのが一般的です。

文1 or 文2

このように記述すると、文1が偽を返したときに、文2が実行されます。

orを条件分岐として使う

このような性質を利用してorは条件分岐に使われることが多いです。たとえばopen関数が失敗した場合は次のように記述します。

open my $fh, '<', $file
  or die qq/Can't open file "$file": $!/;

open関数が成功した場合は真が返されるのでorの右辺は実行されません。open関数が失敗した場合はundefが返されるので右辺のdieが実行されプログラムは終了します。

もうひとつの例として、system関数と一緒に使われることもあります。system関数は成功すると0を返すので、次のように記述します。

system(@cmd) == 0
  or die "Can't execute command @cmd";

主要な処理を先に記述して、補足的なエラー処理を後で書きたい場合に、orによる条件分岐を使うことができます。

「and」を条件分岐に使うこともできますが、読みにくいので「or」をお勧めします。

# andで書き換えた例
system(@cmd)
  and die "Can't execute command @cmd";

業務に役立つPerl

Perlテキスト処理のエッセンス

PerlでポータブルなLinuxファイル管理入門

ITエンジニアの求人情報など

 ITエンジニアの求人情報・Webサービス・ソフトウェア・スクールなどの情報。

システム開発のお問い合わせ