まくまくPerlノート
論理演算子(短絡演算子)を利用したデフォルト値のイディオム
2018-09-28

Perl では、論理演算子 (logical operator)(&&||)による演算結果は、最後に評価された部分の値そのものになります(一方、Java や C++ 言語の場合は、演算結果は真偽値になります)。

この動作は、次のようにデフォルト値を設定するためによく使われます。

my $val = $address{name} || 'No address';

上記の例では、%address ハッシュのキー name が存在しないか、値が偽(空文字列など)である場合に、$val の値が ‘No address’ になります。 このような動作をするため、Perl の論理演算子は、短絡論理演算子 (short-circuit logical operator) と呼ばれます。

2018-09-28