2014-01-29 83 views
0

我很想知道我正在使用的脚本使用哪个模块(我没有从头开始编写它,所以我不确定)。我知道%INC包含我的脚本使用的模块,但它是否也包含这些模块使用的模块?%INC是否包含所有依赖关系

+0

作为跟进,%INC是否只包含绝对必要的模块?我想在另一台计算机上运行我的脚本,我希望尽量减少传输的模块数量。 – user86895

回答

4

是的,它的确如此。每成功requireuse将模块添加到%INC。 (这包括可选模块,如果它们已加载。)请参阅its documentation中的require的伪代码。

+1

它在技术上不是伪代码,而是一个类似于C代码的Perl版本。 ;) – simbabque

+0

谢谢!有没有办法区分可选模块和必要模块? – user86895

+1

检查加载它们的模块的代码和/或文档。 (或者将PossiblyOptional.pm重命名为PossiblyOptional.skip,然后查看程序是否崩溃,因为它不能使用PossiblyOptional;) – cjm

相关问题