パッケージとモジュール
パッケージとモジュールの扱い方について。
パッケージ
パッケージは、Javaでいうクラスに近いかも。
オブジェクトという意味で近いのではなく、変数のスコープとして近い。
1つの変数利用可能なスコープと考えていいかも。
今までは main パッケージを暗黙的に使っていた。
パッケージの定義の仕方
package hoge;
次のパッケージが出てくるまでは、hogeパッケージの範囲となる。
パッケージの使い方
require "pkg1.pl";
これでpkg1.pl をまず読み込む。
&pkg1::fun(); # pkg1のfun()を呼び出し。
$pkg1::name; # pkg1の$nameを呼び出し。
パッケージ名を付けないと、mainパッケージから呼ぶことになる。
モジュール
モジュールは、Javaで言うところのライブラリ。
モジュールの利用のしかた。
use Hoge;
モジュール名は基本大文字スタート。
use は読み込み時にコンパイルが行われる。
require は実行時にコンパイルが行われる。
use Hoge qw/fun1 fun2/;
とすると、Hogeの中のfun1 と fun2 しか読み込まれない。
モジュールの作り方。
拡張子は.pm。
package Hoge;
use Exporter;
@ISA = (Exporter);
@EXPORT = qw(fun1);
sub fun1 {
# 処理
}
ファイル名はこのパッケージ名にあわせよう。
@EXPORT のところを、@EXPORT_OK にしたら、明示的にuse しない限りつかえない。
@EXPORT_FAIL にしたら、読み込めない。
環境によって、切り替えるなどで使う。
最終更新:2011年07月31日 18:41