2008-03-24から1日間の記事一覧

12.9 モジュールを配布する

h2xsツールを使用する。 % h2xs -XA -n Planets % h2xs -XA -n Astonomy::Orbits

12.10 SelfLoaderでモジュールのロードを高速化する

SelfLoaderモジュールを使用する require Exporter; require SelfLoader; @ISA = qw(Exporter SelfLoader); # # 他の初期化または宣言をここに書く # __DATA__ sub abc { .... } sub def { .... }

12.8 自分専用のモジュールディレクトリを用意する

Perlの-lコマンドラインスイッチを使う。 PERL5LIB環境変数を設定する。 use libプラグマを使用する。 use FIndBin qw($BIN); use lib "$BIN/../lib";

12.6 呼び出し側のパッケージを判定する

現在のパッケージを判定する。 $this_pack = __PACKAGE__; 呼び出し側のパッケージを判定する。 $that_pack = caller();

12.7 モジュールのクリーンアップを自動化する

ユーザによる操作を必要とせずに自動的に呼び出されるモジュールの設定コードとクリーンアップコードを作成する必要がある。 設定コードについては、モジュールファイル内のサブルーチン定義以外の場所に実行可能なステートメントを書く。 クリーンアップコ…

12.4 変数を局所化する

パッケージ内で有効なレキシカル変数を使用する。

12.5 関数を局所化する

関数をパッケージに対して、局所化することはできない。 局所変数を作成し、その変数に無名関数へのリファレンスを保存する。 # これは、SomeModule.pmと言うファイルである package SomeModule; my $secret_function = sub { # ここにコードを書く }; sub r…