[kansaipm] Privateなサブルーチン
Yasushi Nakajima
sey at jkc.co.jp
Mon Feb 4 00:50:28 CST 2002
モジュールを書くとき、プライベートな変数はファイルスコープのmyかクロー
ジャでよいのですが、プライベートなサブルーチンを作りたいときに困ります。
みなさんはどうされていますか?
例えば、クラスモジュールで、外部から使うためのメソッドはよいとして、そ
の下請けのプライベートなサブルーチンをいくつか作ることも多いと思います。
そういうサブルーチンもメソッドとして呼べてしまうのが嫌だなぁと思ったこと
はないでしょうか。
※そもそも、メソッドとして呼ばれるように作っていないサブルーチン
をメソッドとして呼べてしまうPerlの仕組みはちょっと困ったものだ
と思っているのですが、まぁそれはまた別の話として。
週末につらつら考えていて、ふと思いついて変なモジュールを作ってしまいま
した。Private.pmといいます。
package Foo;
use Private;
hide Private;
...
と書くだけで、名前がアンダースコアで始まる変数やサブルーチンが、このモジュー
ルをuseしたスクリプトから使えなくなります。(名前は指定もできます。)
まだ作ったばかりで実用になるかどうかもわかりませんが、興味のある方はちょっ
と使ってみてください。まだCPANにはあげてません。
・説明書…http://hp1.jonex.ne.jp/~nakajima.yasushi/modules/Private.jp.html
・アーカイブ…http://hp1.jonex.ne.jp/~nakajima.yasushi/archives/Private-0.01.tar.gz
perl Makefile.PL; make; make install; でもインストールできますが、実体
はPrivate.pm一つだけなので、このファイルを@INCのどこかのディレクトリに入
れるだけでOKです。
中島 靖
More information about the Kansai-pm
mailing list