我正在尝试在另一个文件中使用位于同一文件夹(cgi-bin)中的模块
我有类似的东西
package ModuleName;
sub …
在我有的另一个文件中
use ModuleName;
有没有一种特殊的方法可以在perl脚本旁边导入库文件或cgi-bin中的文件?
当它们都在同一个文件中时,一切都有效。
两个文件都有适当的头#!…
答案 0 :(得分:3)
除非模块导出您的子资源(使用Exporter
和@EXPORT_OK
(或@EXPORT
,但这不太礼貌),否则您需要将其称为{{1}而不是仅使用模块的代码中的ModuleName::my_sub
。
编辑:在先前答案的评论中看到错误消息,您的第一个问题是模块在加载时必须返回true值。这通常通过添加以下行来实现:
my_sub
作为模块文件的最后一行。
答案 1 :(得分:1)
您可以添加:
use lib '/path/to/directory';
这将允许您设置一个额外的目录来加载模块。确保您的模块文件名也以.pm结尾。