导入/需要/用于perl模块

时间:2011-10-20 18:32:37

标签: perl import module package require

我有两个彼此依赖的文件perl文件。 第一个文件,A是一个.pl文件,里面声明了多个包/模块。 第二个文件B将尝试访问文件A中声明的许多包中的一个。如何做到这一点?

2 个答案:

答案 0 :(得分:2)

通过在类路径中查找import com.example.AppName文件,您可能熟悉Java或类似语言如何找到com/example/AppName.java命名空间。当您向Perl询问use HTML::Template时,它同样会在HTML/Template.pm中列出的目录中查找@INC

不同之处在于Perl文件可以包含多个包。当您说use HTML::Template时,您将引入HTML/Template.pm中列出的所有软件包(use自动将::转换为您系统的正确目录分隔符,并添加.pm)。如果该文件中恰好有HTML::Template::Extension个包,那么您可以使用该包而无需明确use它。它已经加载了完整的文件,这已经足够了。

如果您知道相对于运行脚本的确切文件名,最简单的方法是:

require 'path/to/file.pl';

答案 1 :(得分:-2)

您需要在每个使用模块函数的pl文件中声明一个模块。