当前位置: 首页 > 编程笔记 >

什么是Perl模块?

金瑞
2023-03-14
本文向大家介绍什么是Perl模块?,包括了什么是Perl模块?的使用技巧和注意事项,需要的朋友参考一下

Perl模块是在库文件中定义的可重用软件包,该文件的名称与扩展名为.pm的软件包的名称相同。

一个名为Foo.pm的Perl模块文件可能包含这样的语句。

#!/usr/bin/perl
package Foo;
sub bar {
   print "Hello $_[0]\n"
}
sub blat {
   print "World $_[0]\n"
}
1;

关于Perl模块的几点要点

  • 需要和 使用的功能 将加载模块。

  • 两者都使用@INC中的搜索路径列表来查找模块。

  • 这两个函数 都需要并 使用调用 eval函数来处理代码。

  • 1; 在底部导致eval评估为TRUE(因此不会失败)。

需求函数

可以通过调用require函数来加载模块 ,如下所示:

#!/usr/bin/perl
require Foo;
Foo::bar( "a" );
Foo::blat( "b" );

您必须已经注意到,子例程名称必须完全合格才能调用它们。最好将子例程 bar和 blat导入到我们自己的命名空间中,这样我们就不必使用Foo ::限定符。

使用功能

可以通过调用use函数来加载模块 。

#!/usr/bin/perl
use Foo;
bar( "a" );
blat( "b" );

注意,我们不必完全限定包的函数名。如果在模块内添加了一些声明,则use函数将从模块中导出符号列表。

require Exporter;
@ISA = qw(Exporter);

然后,通过填充名为@EXPORT的列表变量提供符号列表(标量,列表,哈希,子例程等):例如-

package Module;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(bar blat);
sub bar { print "Hello $_[0]\n" }
sub blat { print "World $_[0]\n" }
sub splat { print "Not $_[0]\n" } # Not exported!
1;

安装Perl模块

以tar.gz文件的形式下载Perl模块。按照以下顺序安装任何 已作为Person.tar.gz 文件下载的 Perl模块 Person.pm

tar xvfz Person.tar.gz
cd Person
perl Makefile.PL
make
make install

Perl解释器有一个目录列表,它在其中搜索模块(全局数组@INC)。

 类似资料:
  • 本文向大家介绍Perl中的POD是什么?,包括了Perl中的POD是什么?的使用技巧和注意事项,需要的朋友参考一下 Pod是一种易于使用的标记语言,用于编写Perl,Perl程序和Perl模块的文档。有多种翻译器可用于将Pod转换为各种格式,例如纯文本,HTML,手册页等。Pod标记包含三种基本类型的段落- 普通段落-您可以在普通段落中使用格式代码,包括粗体,斜体,代码样式,超链接等。 Verba

  • 本文向大家介绍什么是Perl编程语言?,包括了什么是Perl编程语言?的使用技巧和注意事项,需要的朋友参考一下 Perl是一种通用编程语言,最初是为文本处理而开发的,现在用于各种任务,包括系统管理,Web开发,网络编程,GUI开发等。 Perl是一种稳定的跨平台编程语言。 尽管Perl并不是正式的缩写,但很少有人将其用作实用提取和报告语言。 它用于公共和私营部门的关键任务项目。 Perl是一种开放

  • 我的操作系统是 Debian Buster。我的 cgi-bin 在 /var 中。CPAN 模块是 HTML::Template,位于 cpanm 安装的 /perl5/lib/perl5/HTML 中。我的服务器是 Apache2,我所做的所有研究似乎都正确配置了(但一定是某处出了问题)。我的浏览器是 火狐 ,但我也使用 curl 进行测试。我可以成功地从localhost/cgi-bin/运

  • 本文向大家介绍Perl中的软件包是什么?,包括了Perl中的软件包是什么?的使用技巧和注意事项,需要的朋友参考一下 Perl中的package语句将当前命名上下文切换到指定的命名空间(符号表)。因此- 包是驻留在其自己的命名空间中的代码的集合。 命名空间是唯一变量名称的命名集合(也称为符号表)。 命名空间可防止程序包之间的变量名冲突。 包使模块的构造成为可能,这些模块在使用时不会破坏模块自身命名空

  • Python 提供了强大的 模块支持,主要体现在,不仅 Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块。通过这些强大的模块可以极大地提高开发者的开发效率。 那么,模块到底指的是什么呢?模块,英文为 Modules,至于模块到底是什么,可以用一句话总结: 模块就是 Python  程序。换句话说,任何 Python 程序都可以作为模块,包

  • 本文向大家介绍什么是桩模块相关面试题,主要包含被问及什么是桩模块时的应答技巧和注意事项,需要的朋友参考一下 比如对函数A做单元测试时,被测的函数单元下还包含函数B,为了更好的定位错误,就要为函数B写桩,来模拟函数B的功能,保证其正确。 总结:单元测试中,测试一个模块时,需要设计驱动模块和桩模块。 运行被测试单元时,为了隔离单元,根据被测试的接口,开发相应的驱动程序和桩程序。 驱动模块:为模拟被测试