`
东边日出西边雨
  • 浏览: 259171 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

简单的perl模块结构

    博客分类:
  • perl
阅读更多

如果想在perl中使用面向对象编程,就要先熟悉perl的模块。

模块就相当于是perl中的'类',一个perl的模块文件以.pm为后缀,其内部结构大致如下:

 

#!/usr/bin/perl

package DynamicTable;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(heng, ha);

sub heng {
	my $class = shift;
	print "int method heng() type=$class->{'type'}\n";
}

sub ha {
	my $class = shift;
	print "int method ha() type=$class->{'type'}\n";
}

sub new {
	my $class = shift;

	my %param = @_;
	my $this = {};
	$this->{'type'} = $param{'type'};
	bless $this;
	return $this;
}


1
  

 

@EXPORT 里面存的是需要导出的方法(method)。

 

new()方法是整个模块的构造函数,会在创建对象的时候被调用。它可以接受初始化参数,就像c++类中的构造函数一样。

 

在上面代码中,你会看到所有方法中的第一句总是 my $class = shift;   这是为什么呢?

 

      每个方法都会有个默认的参数,就是本对象自己的句柄。

 

      new()方法可能会将一些初始化参数放入句柄指向的哈希结构中,如:

 

                                             $this->{'type'} = $param{'type'};

 

      要是heng()方法想要使用它,可以这样:  

 

                                              my $class = shift;

                                              print $class->{'type'};

 

模块使用方法:

 

      在一个普通的perl文件中,想要使用这个模块,你只需这样:

 

#!/usr/bin/perl

use DynamicTable;                    #使用DynamicTable模块  


#创建对象
$q = new DynamicTable( 'type' => 'hostfucker');

#或者用下面语句创建对象,也ok
#$q = DynamicTable->new('type'=>'hostfucker');

#调用heng()方法
$q->heng(); 

#调用ha()方法
$q->ha();
  

 

分享到:
评论

相关推荐

    PERL编程完整教程

    第一部分主要讲述Perl的基本概念,第二部分重点介绍Perl的一些高级特性,第三部分介绍如何使用Perl进行CGI编程,第四部分(即附录)讲述如何在不同的操作系统下安装Perl的各个模块。 本书结构清晰,讲解透彻,通俗易懂...

    Perl编程24小时教程

    第一部分主要讲述Perl的基本概念,第二部分重点介绍Perl的一些高级特性,第三部分介绍如何使用Perl进行CGI编程,第四部分(即附录)讲述如何在不同的操作系统下安装Perl的各个模块。 本书结构清晰,讲解透彻,通俗易懂...

    perl 高级编程教程

    第一部分主要讲述Perl的基本概念,第二部分重点介绍Perl的一些高级特性,第三部分介绍如何使用Perl进行CGI编程,第四部分(即附录)讲述如何在不同的操作系统下安装Perl的各个模块。 本书结构清晰,讲解透彻,通俗易懂...

    perl-Geo-Address-Formatter:Perl模块以获取结构化的地址数据并将其格式化

    perl-Geo-Address-Formatter:Perl模块以获取结构化的地址数据并将其格式化

    Test-HTML-Differences:用于测试HTML结构的Perl模块

    Test-HTML-Differences:用于测试HTML结构的Perl模块

    perl 24教程

    第一部分主要讲述Perl的基本概念,第二部分重点介绍Perl的一些高级特性,第三部分介绍如何使用Perl进行CGI编程,第四部分(即附录)讲述如何在不同的操作系统下安装Perl的各个模块。 本书结构清晰,讲解透彻,通俗易懂...

    PERL编程24学时教程.pdf

    14.2.3 用于通信的Perl模块 164 14.2.4 使用English模块 165 14.2.5 diagnostics模块 165 14.3 标准模块的完整列表 166 14.4 课时小结 167 14.5 课外作业 167 14.5.1 专家答疑 167 14.5.2 思考题 168 14.5.3 解答 ...

    perl初级教程

    第一部分主要讲述Perl的基本概念,第二部分重点介绍Perl的一些高级特性,第三部分介绍如何使用Perl进行CGI编程,第四部分(即附录)讲述如何在不同的操作系统下安装Perl的各个模块。 本书结构清晰,讲解透彻,通俗易懂...

    Perl语言入门(第五版-中文版).pdf

    第十一章perl模块 寻找模块 安装模块 使用简单模块 习题 第十二章文件测试 文件测试操作符 localtime函数 按位运算操作符 习题 第十三章目标操作 在目录树中移动 文件名通配 文件名通配的另一种语法 ...

    Perl 实例精解(第三版).pdf

    15.3.2 使用PPM在Windows系统上安装Perl模块 15.3.3 安装RDBMS 15.3.4 为MMS范例创建DSN 15.4 使用ADO和DBI访问MSS 15.4.1 Microsoft SQL Server--范例15-1和15-3的查询 15.4.2 范例15-1:ex1.p1在...

    perl技术内幕,perl黑皮书

    第16章 数据结构和数据库 第17章 创建包和模块 第18章 创建类和对象 第19章 面向对象编程 第20章 INTERNET和套接字编程 第21章 CGI编程:GGI.PM 第22章 CGI:创建WEB计数器、来宾簿、电子邮件程序和安全脚本 ...

    24小时学会 Perl 语言

    第14讲 使用模块 第15讲 了解程序的运行性能 第16讲 Perl语言开发界 第17讲 CGI概述 第18讲 基本窗体 第19讲 复杂窗体 第20讲 对HTTP和CGI进行操作 第21讲 cookie 第22讲 使用CGI程序发送电子邮件 第23讲 服务器推送...

    PERL编程24学时教程

    14.2.3 用于通信的Perl模块 164 14.2.4 使用English模块 165 14.2.5 diagnostics模块 165 14.3 标准模块的完整列表 166 14.4 课时小结 167 14.5 课外作业 167 14.5.1 专家答疑 167 14.5.2 思考题 168 14.5.3 解答 ...

    perl编程24学时教程.rar

    14.2.3 用于通信的Perl模块 164 14.2.4 使用English模块 165 14.2.5 diagnostics模块 165 14.3 标准模块的完整列表 166 14.4 课时小结 167 14.5 课外作业 167 14.5.1 专家答疑 167 14.5.2 思考题 168 14.5.3...

    perl语言脚本文档说明

    14.2.3 用于通信的Perl模块 164 14.2.4 使用English模块 165 14.2.5 diagnostics模块 165 14.3 标准模块的完整列表 166 14.4 课时小结 167 14.5 课外作业 167 14.5.1 专家答疑 167 14.5.2 思考题 168 14.5.3...

    Perl Testing程序高手秘笈

    简单数据结构比较 数据组成 测试警告信息 测试异常 第三章 管理测试 测试的组织 检查覆盖率 编写测试库 对测试库的测试 编写测试用具 通过网络运行测试 自动运行测试 第四章 与代码一起发布测试 测试文档覆盖率 ...

    PERL语言编程

    Perl 的类型和结构很容易使用和理解。Perl 对你的数据没有任何限制--你的字串和数组可以要多长就多长(只要你有足够的内存),而且它们都会自动增长。Perl 不会强迫你学习新的语法和语意,Perl 改从许多其它你已经...

Global site tag (gtag.js) - Google Analytics