第11章 模块
2015-09-30 14:10
239 查看
第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来做这些事情:
模块是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来做这些事情:
相关文章推荐
- nil、Nil、NULL和NSNull的区别
- 高精度 高分辨率 计时函数 Linux
- sql数据库设计学习---数据库设计规范化的五个要求
- 信息过滤与反垃圾
- 软考与职称
- Mybatis系列(五)动态SQL
- 【Android】解决在Android虚拟机中安装apk报error:protocol faultno status或error:device not found问题
- Xcode常用快捷键及代码格式刷(缩进)方法
- 提交app Store审核时,Missing 64-bit support问题的解决办法
- unity3D -- 单例泛型模板
- 博客园添加访问人数统计
- 各种python环境的问题
- Lambda 表达式浅谈- 01
- 移动端重构系列3——重置样式
- android-----ListView和GridView的用法
- 集群技术
- CentOS 修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
- 常用的txt转换pdf格式的方法
- DataGridiew用法总结
- 虚拟机网络设置