Integerモジュール

Perlの話。コマンドラインから、以下のコマンドを実行する。

perl -Mhogehoge

これは、hogehoge.pmというモジュールをuseした状態でPerlが起動するのだけれども、当然そのモジュールが存在しない場合にはエラーになる。で、ここで

perl -MInteger

というのを打ってみてほしい。僕のWindows環境では、一切エラーにならない。演算結果を制すうちに丸めるというintegerプラグマというのがあるが、これは先頭が小文字であって今呼び出そうとしているものとは違う・・・なのにエラーにならなかった。libのパスのどこにもこんなモジュールは存在していないと言うのに。
で、これをなんでかなあとやっていて、ようやく結論。Windowsでは、useするときのファイル名は大文字小文字を区別しない。だが、package宣言では大文字と小文字を区別する。特にWindowsの場合には、大文字小文字を区別しないのが標準なので、こういう使用になっているのだと思うのだけど、コレのおかげで自分でInteger.pmを製作することが出来なかった。仕方が無いのでInt.pmにすることにしよう。