perlでモジュールをインポートする時に何気なく使ってるuse Hogeですが、調べてみると少し思ってたのと違ってたので、調べた事をメモしておきます。 use Hogeは実は標準関数useの呼出しを行っていて、その内容は以下と同等です。 BEGIN { require Hoge; # 中で更にdo Hoge.pmを呼び出す import Hoge; # Hoge::importを実行 } require Hogeは対応する.pmファイルを読み込み、importはHoge::importを呼び出します。requireされた時点でロードは完了して、Hoge.pmに定義されている関数等は使用可能です。じゃあimportで何をしてるかというと、読み込み元パッケージの名前空間にHoge.pm内の関数に対するエイリアスを定義する為に使われる事が多いようです。 逆にモジュールをunimportしたい場合