第11章 模块

来源:互联网 发布:js 大数 错误 编辑:程序博客网 时间:2024/04/28 16:07

第11章 模块;

模块是Perl里重复使用的基本单元,在它的外皮下面,它只不过是已定义在一个同名文件(以.pm)里面的包。

模块有两种风格:传统的和面向对象的。

传统模块为调用者的输入和使用定义了子过程和变量。面向对象的模块的运转类似声明并且

是通过方法调用来访问的。

use 语句在编译的时候对MODULE进行一次预装载,然后把你需要的符号输入进来,这样剩下的编译

过程就可以使用这些符号了。如果你想提供你想要的符号的LIST(列表),

use 是编译的时候

require 是运行的时候

[root@master Webqq]# perl t28.pl
Can’t locate xx.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5

/usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at t28.pl line 1.
BEGIN failed–compilation aborted at t28.pl line 1.

会去@INC 定义的路径去找模块:

[root@master Webqq]# perl t28.pl
/usr/local/lib64/perl5/usr/local/share/perl5/usr/lib64/perl5/vendor_perl/usr/share/perl5/vendor_perl/usr/lib64/p

erl5/usr/share/perl5.[root@master Webqq]#

11.2 创建模块:

我们前面说过,一个模块可以有两个方法把它的接口提供给你的程序使用:把符号输出或者允许方法调用。

Perl 会自动调用重要方法当处理一个使用的语句对于一个模块

当你使用一个模块,通常是这个模块提供了你的程序可以使用的几个函数或者变量,或者更准确地说,

为你的程序的当前包提供了函数和变量。这种从模块输出符号(并且把它们输入到你的程序)的动作

有时候被称为污染你的名字空间,大多数模块使用Exporter来做这些事情:

0 0