perl - 我们可以加载没有 ".pm"文件扩展名或其他文件扩展名的 perl 模块吗?

标签 perl

我们可以加载没有“.pm”文件扩展名的perl模块吗?

我们能否拥有带有其他文件扩展名的 perl 模块,例如“dll”、“so”或“lib”

只是想知道,如何在 perl 中将“pm”文件作为包/模块加载。

最佳答案

您可以使用 require "file_name"; 加载任何您想要的文件, 有或没有扩展名。唯一的要求是该文件在语法上是有效的 Perl,并且它返回一个真值以指示加载模块成功;

通常use Module;基本上只是一个快捷方式

BEGIN {
  require Module;
  Module->import();
}

require Module; (注意模块名称周围缺少的 "..."!)查找 "Module.pm"@INC 中列出的所有目录中.

所以:require使用字符串加载任何文件,requireBareword寻找 "Bareword.pm"@INC .

关于perl - 我们可以加载没有 ".pm"文件扩展名或其他文件扩展名的 perl 模块吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13815970/

相关文章:

Perl WWW::Mechanize -- 获取 URL 的身份验证错误

Perl:如何从 while 循环内将一行打印到文件?

python - 让 Python 在交互式 Perl 脚本中模拟用户输入

regex - 如何构建正则表达式来解析逗号分隔值但忽略双引号中的逗号?

perl - 无法安装 SOAP::Lite

javascript - 如何在 Perl 网络爬虫中处理 Javascript?

php - 如何在 PHP IPC::Open3 中像 PERL 那样做?

c - perl 中是否有与 read() 相反的函数,就像 C 中的 fwrite() 一样?

mysql - Perl MySQL SET SQL_BIG_SELECTS=1

perl - 使用 Type::Tiny 将类型参数化为另一种类型