Perl的lib pragma如何工作?

前端之家收集整理的这篇文章主要介绍了Perl的lib pragma如何工作?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用lib“./DIR”从其他地方的文件夹中获取库.但是,它似乎不适用于我的服务器,但它在我的本地桌面上工作正常.
任何特殊原因?

还有一个问题,是否使用lib在几个模块中传播?

两种情况:
假设我创建了一个需要几个库的基类,但我知道它需要扩展,扩展类需要使用另一个库.我可以在基类中使用lib命令吗?还是我需要把它放在每个扩展课程中?

最后,我可以只使用一个包,其中包中包含一堆使用lib,它会将使用lib语句传播到我当前的模块吗? < - 我不这么认为,但反正要求

解决方法

的.在您的使用中,lib语句表示“当前工作目录”,并且仅在从右侧目录运行脚本时才起作用.服务器对cwd的想法可能是不同的(或未定义的).假设库目录与脚本位于同一位置并且是私有的,您希望执行以下操作:

use FindBin;
use lib "$FindBin::Bin/DIR";

use lib语句会影响@INC – 使用或需要模块时perl搜索的位置列表.它全局影响解释器的当前实例.您应该只在脚本中使用lib语句,而不是在模块中.

原则上,您可以拥有一个包含MyBibs的包,它包含一堆使用lib语句,然后在使用这些位置中的任何包之前使用MyLibs,但我不推荐它.

猜你在找的Perl相关文章