perl опционально загружать модуль только при наличии - PullRequest
3 голосов
/ 30 апреля 2020

У меня есть немного редко используемый код в моем скрипте perl, для которого требуется модуль, который не установлен по умолчанию (но это стандартный развернутый модуль cpan).

Существует ли способ дополнительной загрузки модуль, если он доступен, и просто отключите некоторые функции, если они недоступны, чтобы скрипт работал в большинстве дистрибутивов perl по умолчанию, если эта специальная функция не нужна?

1 Ответ

5 голосов
/ 30 апреля 2020

вы можете использовать блок try-catch (называемый "eval" в Perl), когда требуется этот модуль.

например:

my $zlib_available=0;
eval
{
    require Compress::Zlib;
    $zlib_available=1;
};

и позже:

if ($zlib_available) {
    $page = Compress::Zlib::memGzip($page);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...