Perlでは、オブジェクト指向関連の機能が後付けで追加された。
その中の機能の一つがパッケージであり、C++の名前空間や、Javaのパッケージに相当するものである。
パッケージやブロックが変数の所属にどのように影響するかを試す。
パッケージ名を宣言していない場合は、mainパッケージに含まれる。
パッケージ名の宣言があればそのパッケージに含まれ、ブロックが解除されると宣言済みパッケージから抜ける。
$ vi package.pl $ perl package.pl 100 *main::var 200 *PackageA::var 300 *PackageA::var 400 *PackageB::var 300 *PackageA::var $
ブロックの中でも、PackageBが宣言されるまでは、PackageA::varにアクセスして値を入れ続け、ブロックを抜けても維持される。
Sample/perl/package/package/src/package at master · bg1bgst333/Sample · GitHub