>>312 の解説をより正確にすると以下のようになります。参考までに。

サブルーチン呼出しよりも定義が先に perl に読まれる場合は () と & を省略可能。
サブルーチン呼出しよりも定義が後に perl に読まれる場合は () か & のいずれかが必要。
いずれの場合でも () または &、もしくはその両方を記述する事ができます。
いずれの場合でも & を付けるとプロトタイプ宣言を無視します。