perl のモジュール — use のパラメータ

モジュール定義で

@EXPORT = qw(F1 F2 @List);

としたとき,

use YourModule;

で F1, F2, @List がインポートされる.

モジュール定義で

@EXPORT_OK = qw(Op_Func %Table);

とすると,

use YourModule qw(Op_Func %Table F1);

のように個別にインポートする識別子を指定できる.この場合には @EXPORT で指定した識別子は自動的にはインポートされない.インポートするには

use YourModule qw(:DEFAULT %Table);

のようにする.

グループ名(タグ)でインポートできるようにするには,

%EXPORT_TAGS = {
    Functions => { qw(F1 F2 Op_Func) },
    Variables => { qw(@List %Table) },
};

のように定義し,

use YourModule qw(:Functions %Table);

などのように呼び出す.%EXPORT_TAGS に明示的に含めなくても,:DEFAULT は変わらず @EXPORT 全体を表すタグとして機能する.

[参照] 「Perlクックブック〈VOLUME1〉」レシピ12.1 (p. 562)