什么是 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 模块的一些重要要点
- 函数 require 和 use 将加载模块。
- 两者都使用 @INC 中的搜索路径列表来查找模块。
- 这两个函数 require 和 use 都调用 eval 函数来处理代码。
- 底部的 1; 使 eval 的结果为 TRUE(因此不会失败)。
Require 函数
可以通过如下方式调用 require 函数加载模块:
#!/usr/bin/perl require Foo; Foo::bar( "a" ); Foo::blat( "b" );
您可能已经注意到,必须使用完全限定的名称来调用子程序。最好将子程序 bar 和 blat 导入到我们自己的命名空间中,这样我们就不必使用 Foo:: 限定符。
Use 函数
可以通过调用 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)。
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP