Загрузите модуль, когда хотите
Если вам нужно загрузить весь модуль во время выполнения, вы используете require
. Но для импорта вам потребуется дополнительный код. Вот пример:
## this function is almost the same
## as "use My::Module qw( :something )"
sub load_big_module_at_runtime {
## load module in runtime
require My::Module;
## do import explicty if you need it
My::Module->import( ':something' );
}
Загрузка модуля при использовании его функций
Вы также можете использовать autouse
для загрузки модуля только тогда, когда используется его функция. Например:
## will load module when you call O_EXCL()
use autouse Fcntl => qw( O_EXCL() );
Функция загрузки только при использовании
Также имеется модуль SelfLoader
, который позволяет загружать отдельные функции только тогда, когда вам это нужно. Взгляните на модуль AutoLoader
, который делает почти то же самое.
Я также рекомендую прочитать основные рецепты из Perl Cookbook .