技術メモ

書いておぼえるブログ

任意のディレクトリをパスに通す

useしたモジュールが見つからないとき次のエラーが出ます。

Can't locate App/Module.pm in @INC (...

エラーを解消するには、モジュールをパスに通してやればOKです。

パスに通す方法は複数あるようですが、今回はuse libを使いました。

ディレクトリ構成

.
├── App
│   ├── Tengsample
│   │   ├── Model
│   │   │   └── Schema.pm
│   │   └── Model.pm
│   └── teng_sample.pl

teng_sample.pl

こう書きます。

use lib '/Users/taro/App';

すると、teng_sample.plで次のようにモジュールをuseできます。

use Tengsample::Model; ## ./App/Tengsample/Model.pm