如何在不同的文件中使用模块

时间:2011-03-31 09:39:24

标签: perl perl-module

我正在尝试在另一个文件中使用位于同一文件夹(cgi-bin)中的模块

我有类似的东西

package ModuleName;
sub …

在我有的另一个文件中

use ModuleName;

有没有一种特殊的方法可以在perl脚本旁边导入库文件或cgi-bin中的文件?

当它们都在同一个文件中时,一切都有效。

两个文件都有适当的头#!…

2 个答案:

答案 0 :(得分:3)

除非模块导出您的子资源(使用Exporter@EXPORT_OK(或@EXPORT,但这不太礼貌),否则您需要将其称为{{1}而不是仅使用模块的代码中的ModuleName::my_sub

编辑:在先前答案的评论中看到错误消息,您的第一个问题是模块在加载时必须返回true值。这通常通过添加以下行来实现:

my_sub

作为模块文件的最后一行。

答案 1 :(得分:1)

您可以添加:

use lib '/path/to/directory';

这将允许您设置一个额外的目录来加载模块。确保您的模块文件名也以.pm结尾。