デフォルト値の設定なんかに使う。 $value = $data || $ARGV[0] || 1; # $value に、$data が真なら $data を、偽なら $ARGV[0] を、$ARGV[0] も偽なら 1 をセットする ここでは、優先順位の高い論理和の || が必須。優先順位の低い or だと、 $value への代入演算子 = を含めて偽だった場合に、or 以降が実行されてしまう。 $value = $data or $ARGV[0] or 1; は ((($value = $data) or $ARGV[0]) or 1); になるので、家庭の事情などで or が使いたいなら括弧が必要 $value = ($data or $ARGV[0] or 1); ちなみに既に代入されている値に対しての操作の場合はこんな感じ $value ||= $ARGV[0] || 1;