在執行時載入模組
require Exporter;
這將確保 Exporter
模組在執行時載入(如果尚未匯入)。 (另見: perldoc -f require
。)
注意: 大多數使用者應該使用模組而不是模組 4。與 use
不同,require
不會呼叫模組的 import 方法,而是在執行時執行,而不是在編譯期間執行。
如果在執行之前無法確定所需的模組,這種載入模組的方法很有用,例如使用外掛系統:
package My::Module;
my @plugins = qw( One Two );
foreach my $plugin (@plugins) {
my $module = __PACKAGE__ . "::Plugins::$plugin";
$module =~ s!::!/!g;
require "$module.pm";
}
這會嘗試載入 My::Package::Plugins::One
和 My::Package::Plugins::Two
。@plugins
當然應該來自一些使用者輸入或配置檔案,這是有意義的。請注意替換運算子 s!::!/!g
,它用斜槓替換每對冒號。這是因為只有當模組名稱是一個單詞時,才可以使用 use
中熟悉的模組名稱語法載入模組。如果傳遞字串或變數,則必須包含檔名。