まくまくPerlノート
not と ! の結合度の違い
2008-05-22

例えば、整数のリストから 5 で割り切れるものを抜き出したい場合は、not を使って次のように書けます。

例: 5で割り切れる値を抽出

my @div5 = grep { not $_ % 5 } 1..100;

not よりも ! は結合度が強いので、not の代わりに ! を使う場合は次のように括弧が必要です。

my @div5 = grep { !($_ % 5) } 1..100;

この場合は not を使ったほうが可読性が若干高いと思います。 if の条件判定部分でも同様です。

if (not $_ % 5) {
    ...
}
2008-05-22