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

12.3 useで処理を実行時まで遅延させる

プログラムを実行するときに、必要な場合に限ってロードするモジュールがある。あるいは、プログラムが起動された後でロードすることが必要なモジュールがある。 useによる処理をrequireとimportによる独立した2つの処理の分割するか、または、use autouseプ…

12.2 requireまたはuseのエラーを捕捉する

requireまたはuseをevalの引数として書き、そのevalをBEGINブロックの中に書く。 モジュールをインポートしない場合 BEGIN { unless (eval "require $mod; 1") { warn "Couldn't require $mod: $@; } } モジュールを現在のパッケージにインポートする場合 BE…

12.1 モジュールのインターフェースを定義する

標準モジュールのExporterによって、自分のモジュールへの外部インタフェースを定義する。 YourModule.pmと言うモジュールファイルに次のコードを書く。 package YourModule; use strict; our (@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $VERSION); use Exp…