2014-01-29 3 views
0

Мне интересно узнать, какие модули используют сценарий, с которым я работаю (я не писал его с нуля, поэтому я не уверен). Я знаю, что% INC содержит модули, используемые моим скриптом, но содержит ли он также модули, используемые этими модулями?Имеет ли% INC все зависимости

+0

В качестве продолжения,% INC содержит только абсолютно необходимые модули? Я хотел бы запустить мой скрипт на другом компьютере, и я надеюсь свести к минимуму количество модулей, которые я передаю. – user86895

ответ

4

Да, это так. Каждый успешный require или use добавляет модуль в %INC. (Это включает в себя дополнительные модули, если они были загружены.) Посмотрите на псевдокод для require в its documentation.

+1

Это технически не псевдокод, а версия Perl, похожая на код C. ;) – simbabque

+0

Спасибо! Есть ли способ отличить необязательный от необходимых модулей? – user86895

+1

Изучите код и/или документацию модуля, который их загрузил. (Или переименуйте PossiblyOptional.pm в PossiblyOptional.skip, а затем посмотрите, сработает ли программа, потому что она не может «использовать PossiblyOptional».) – cjm

Смежные вопросы