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