`
东边日出西边雨
  • 浏览: 262742 次
  • 性别: 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的安装结构有一定了解,并且需要谨慎操作,避免影响到其他依赖或者系统功能。如果不确定操作,建议使用CPAN再次安装新版本覆盖旧的,或者咨询Perl社区获取帮助。

    perl 模块(spreadsheet、XML::Simple、DBB::mysql等模块)

    2. XML::Simple:这是一个用于XML处理的Perl模块,正如其名,它提供了一种简单的方式来解析和生成XML文档。XML::Simple将复杂的XML结构转换为易于理解和操作的Perl数据结构,如哈希和数组。尽管它的名字中带有“简单...

    perl常用模块例子

    本文将详细介绍部分常用的Perl模块及其应用场景,帮助读者更好地理解和使用这些模块。 #### 一、模块资源与安装 1. **获取模块文档**: - 访问地址:[http://www.perldoc.com/perl5.6/pod/perlmodlib.html]...

    perl常用模块

    总的来说,理解并熟练使用这些Perl模块能够极大地提升你的XML处理能力和代码可读性,同时在Eclipse这样的IDE中工作也能提高开发效率。记得定期更新模块以获取最新的功能和修复。在编写Perl代码时,合理利用模块化...

    linux 离线安装perl-IPC-Cmd

    3. `perl-ExtUtils-MakeMaker-6.68-3.el7.noarch.rpm`: 是Perl模块构建工具,用于创建Makefile,帮助开发者构建和安装Perl模块。 4. `pyparsing-1.5.6-9.el7.noarch.rpm`: 虽然名字里有"py",但这个包实际上是Perl...

    PERL perl_add_ons 3

    在本文中,我们将深入探讨"PERL perl_add_ons 3"的相关知识点,包括其安装、使用以及一些常见的Perl模块。 首先,Perl的模块安装通常通过CPAN(Comprehensive Perl Archive Network)进行,这是一个庞大的开源Perl...

    Perl.TK (TK for perl)

    5. **与其他Perl模块的集成**:Perl.TK可以轻松与Perl的其他模块结合,扩展其功能,如数据库访问、网络通信等,从而创建功能强大的应用程序。 6. **Tkx模块**:除了原始的Perl.TK,还有Tkx模块,它是Perl.TK的一个...

    在Perl模块上逐步创建带有测试和git的教程:从底层进行Perl模块开发,并逐步进行测试过程和git集成

    Perl模块(perl-module)是Perl编程语言中的一个自包含代码单元,它封装了特定的功能或数据,使得代码可重用且结构清晰。创建Perl模块通常包括定义模块名称(通常以“lib”开头的文件夹),编写`.pm`文件(如`...

    perl SVG module

    Perl SVG模块是一个强大的Perl编程库,它允许开发者使用Perl语言创建和操纵Scalable Vector Graphics (SVG)格式的图形。SVG是一种基于XML的矢量图像标准,广泛应用于网页设计、数据可视化、科学图表以及生物信息学等...

    perl ppd package

    PadWalker是一个Perl模块,它允许程序员查看Perl代码中未定义的变量和函数的内部结构,包括局部变量、匿名子程序等。这个工具在调试和理解复杂的代码逻辑时非常有用,因为它可以深入到Perl的执行垫(pad),也就是...

    Perl开发环境.zip

    Strawberry Perl 是Perl在Windows上的一个受欢迎的发行版,它包含了Perl解释器本身以及许多常用的Perl模块和工具,使得开发者无需额外配置即可直接进行Perl编程。Strawberry Perl 的特点是“纯MSYS”,意味着它不...

    Perl version 5.8.8 documentation

    5. **Perl模块和CPAN**:Perl模块是预编译的代码库,用于扩展语言功能。CPAN(Comprehensive Perl Archive Network)是世界上最大的开源软件仓库之一,提供了数千个Perl模块供开发者使用。 6. **Perl错误和警告**:...

    strawberry-perl-5.10.1.0.msi

    Strawberry Perl 5.10.1.0.msi是这个特定版本的安装程序,它包含了Perl解释器、标准库以及一些常用的Perl模块,使得开发者无需繁琐配置即可在Windows系统上进行Perl开发工作。 在Perl 5.10.1.0中,引入了诸如say、...

    perl语言入门+perl语言编程

    此外,它还可能深入讨论Perl的内核机制,如编译器和解释器的工作原理,以及如何编写自己的Perl模块。 Perl语言的一大特点是其“ TIMTOWTDI”哲学,即“There Is More Than One Way To Do It”,这鼓励程序员以多种...

    strawberry-perl-5.32.0.1-64bit.msi

    Strawberry Perl包含了C编译器和许多常用的Perl模块,方便开发者编写和运行CPAN(Comprehensive Perl Archive Network)上的第三方模块。 描述中提到的“解决官网下载速度过慢的问题”,意味着可能用户在尝试从Perl...

    perl 下dmake 所需要的 安装文件

    比如,如果你有一个名为`MyModule`的Perl模块,其目录结构如下: ``` MyModule/ Makefile.PL lib/ MyModule/ .pm 文件 t/ (测试目录) .t 测试文件 ``` 你可以进入`MyModule`目录,运行`perl Makefile.PL`来...

    ActivePerl-x86

    4. **Perl模块**:Perl模块是封装好的功能集,可以被其他Perl脚本导入并使用。例如,CGI模块用于编写Web服务器上的CGI脚本,DBI模块用于数据库交互。 5. **变量和数据类型**:Perl支持多种数据类型,包括标量(如...

    perl语言编程经典教程

    - [CPAN](https://metacpan.org/):Perl模块仓库,提供了大量的第三方模块供开发者使用。 #### 九、案例分析 - **实际项目案例**:通过具体案例来展示如何使用Perl解决实际问题,例如自动化脚本编写、Web应用开发...

    在Genesis中使用Perl的配置.doc

    - **步骤**: 安装核心Perl模块和支持Genesis的模块。 - **说明**: Perl有许多额外的模块来扩展其功能。这里需要确保`core`模块已安装,并且还需要安装`Genesis.pm`和`server.pl`这两个特定于Genesis的模块。 - **...

Global site tag (gtag.js) - Google Analytics