< このページにはセキュリティ保護された項目と保護されていない項目が含まれています。 | URLエンコード/デコード >

December 15, 2003

@INC

Movable Typeの場合、@INC(ライブラリ検索パス)にユーザ定義パスを追加する処理はこんな感じで実現している。

my($MT_DIR);
BEGIN {
    if ($0 =~ m!(.*[/\\])!) {
        $MT_DIR = $1;
    } else {
        $MT_DIR = './';
    }
    unshift @INC, $MT_DIR . 'lib';
    unshift @INC, $MT_DIR . 'extlib';
}

私もそれに倣ってずっとunshiftで押し込んでたんだけど、実はプラグマが存在することを最近知った。これだと、モジュール内でユーザ定義ライブラリ内のモジュール'hoge.pm'を参照するときも、requierでなく、useで書くことができる。

use lib qw(./lib ./extlib);
use hoge;

トラックバック

このエントリーにトラックバック:
http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/136

コメント

コメントする

※ コメントスパム対策のため、コメント本文はおはよう、こんにちわ、こんばんわのいずれかより始めるようにしてください。

name:
email:

※ 必要ですが、表示しません。

url:
情報を保存する ?