Perl

パッケージ

Perlにおけるパッケージとは、一般的に名前空間と呼ばれる機能のことである。パッケージを宣言するには「package」を使う。
package Foo;
パッケージ内で宣言されたパッケージ変数とサブルーチンはパッケージに属するものとなる。パッケージ変数を宣言するには「our」を使う。パッケージ変数には大文字を利用するのが一般的である。
package Foo;

our $NUM = 1;

sub sum {
    # ...
}

package Bar;

our $NUM = 2;

sub sum {
    # ...
}
上記において、Fooパッケージのパッケージ変数$NUMとBarパッケージのパッケージ変数$NUMはまったく別の変数である。またFooパッケージのsumとBarパッケージのsumはまったく別のサブルーチンである。パッケージ変数やサブルーチンはパッケージごとに定義することができる。自パッケージ内であれば、パッケージ名の指定を行わずに、パッケージ変数やサブルーチンを参照することができる。
package Foo;

our $NUM = 1;

sub sum {
    # ...
}

print $NUM;
print sum();
他のパッケージから参照するには、完全修飾を行う必要がある。mainはデフォルトのパッケージをあらわす。
package Foo;

our $NUM = 1;

sub sum {
    # ...
}

package main;

print $Foo::NUM;
print Foo::sum();

戻る