Можно создать дубликат:
How can I check if I have a Perl module before using it?Попытки использовать Eval для проверки модуля PERL
Я хотел бы Eval потребительное заявление, подобное этому: Eval {использовать $ Foo; }, но возникают проблемы с правильным синтаксисом. Я пробовал различные комбинации интерполяции строк, но eval всегда удается даже для модуля, который не существует. Может кто-то дать мне руку с этим?
Я не уверен, как «eval» преуспевает; Я получаю синтаксическую ошибку при использовании переменной с 'use'. Из 'perldoc -f use':« [использовать LIST модуля] в точности эквивалентно BEGIN {require Module; import Module LIST;}, за исключением того, что Module * должен * быть голым словом ». – chepner
Определить, что «eval всегда преуспевает». – TLP