我用来use lib "./DIR"从其他地方的文件夹中获取库.但是,它似乎不适用于我的服务器,但它在我的本地桌面上工作正常.任何特殊原因?
还有一个问题,是否use lib会在几个模块中传播?
两种情况:假设我创建了一个需要几个库的基类,但我知道它需要扩展,扩展类需要使用另一个库.我可以将use lib命令放在基类中吗?还是我需要把它放在每个扩展课程中?
最后,我可以只有一个use package包含一堆使用lib的包,它会将使用lib语句传播到我当前的模块吗?< - 我不这么认为,但反正要求
.您的声明中的意思use lib是“当前工作目录”,并且仅当您的脚本从正确的目录运行时才有效。服务器对 cwd 的想法可能有所不同(或未定义)。假设库目录与脚本位于同一位置并且对其私有,您需要执行以下操作:
use FindBin;
use lib "$FindBin::Bin/DIR";
Run Code Online (Sandbox Code Playgroud)
语句use lib会影响您或模块@INC时 perl 搜索的位置列表。它全局影响解释器的当前实例。您实际上应该只将语句放在脚本中,而不是放在模块中。userequireuse lib
原则上,您可以有一个package MyLibs由一堆use lib语句组成的,然后use MyLibs在这些位置使用任何包之前,但我不推荐它。
| 归档时间: |
|
| 查看次数: |
397 次 |
| 最近记录: |