■
別のプログラマが書いたコードをリファクタリングしていて気になった(というかハマった)ことがひとつ。
これはDamian先生のベスプラにも書いてあるのですが、裸のファイルハンドルはもうやめましょう( "Don't use bareword filehandles" の項)。
なぜかというと、もちろんベスプラからのパクリなのですが、ファイルハンドルのGLOBというのはpackageレベルでグローバルなので、INとかOUTとかFILEとか、そういう名前を付けるとコードの他の部分と衝突する可能性があるわけです。
これは use した他のパッケージから import されたシンボルにも言えるので、さらに質が悪いのです。
普通にコードを書いていれば、そもそも同時に複数のファイルハンドルをオープンすること自体、あまりうまくない設計だと思うのですが、それはまぁケースバイケースでしょうか。
そして、上記の「きちんとした」理由の他に、
ファイルハンドルは大文字を使うものだという習慣がある
↓
大文字の識別子は読みにくい
↓
短い名前にしようとする
↓
結局、INとかOUTとかFILEとかいう名前になってアボーン
という負の連鎖があるのではないかと予想中。