如果想在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的安装结构有一定了解,并且需要谨慎操作,避免影响到其他依赖或者系统功能。如果不确定操作,建议使用CPAN再次安装新版本覆盖旧的,或者咨询Perl社区获取帮助。
2. XML::Simple:这是一个用于XML处理的Perl模块,正如其名,它提供了一种简单的方式来解析和生成XML文档。XML::Simple将复杂的XML结构转换为易于理解和操作的Perl数据结构,如哈希和数组。尽管它的名字中带有“简单...
本文将详细介绍部分常用的Perl模块及其应用场景,帮助读者更好地理解和使用这些模块。 #### 一、模块资源与安装 1. **获取模块文档**: - 访问地址:[http://www.perldoc.com/perl5.6/pod/perlmodlib.html]...
总的来说,理解并熟练使用这些Perl模块能够极大地提升你的XML处理能力和代码可读性,同时在Eclipse这样的IDE中工作也能提高开发效率。记得定期更新模块以获取最新的功能和修复。在编写Perl代码时,合理利用模块化...
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的模块安装通常通过CPAN(Comprehensive Perl Archive Network)进行,这是一个庞大的开源Perl...
5. **与其他Perl模块的集成**:Perl.TK可以轻松与Perl的其他模块结合,扩展其功能,如数据库访问、网络通信等,从而创建功能强大的应用程序。 6. **Tkx模块**:除了原始的Perl.TK,还有Tkx模块,它是Perl.TK的一个...
Perl模块(perl-module)是Perl编程语言中的一个自包含代码单元,它封装了特定的功能或数据,使得代码可重用且结构清晰。创建Perl模块通常包括定义模块名称(通常以“lib”开头的文件夹),编写`.pm`文件(如`...
Perl SVG模块是一个强大的Perl编程库,它允许开发者使用Perl语言创建和操纵Scalable Vector Graphics (SVG)格式的图形。SVG是一种基于XML的矢量图像标准,广泛应用于网页设计、数据可视化、科学图表以及生物信息学等...
PadWalker是一个Perl模块,它允许程序员查看Perl代码中未定义的变量和函数的内部结构,包括局部变量、匿名子程序等。这个工具在调试和理解复杂的代码逻辑时非常有用,因为它可以深入到Perl的执行垫(pad),也就是...
Strawberry Perl 是Perl在Windows上的一个受欢迎的发行版,它包含了Perl解释器本身以及许多常用的Perl模块和工具,使得开发者无需额外配置即可直接进行Perl编程。Strawberry Perl 的特点是“纯MSYS”,意味着它不...
5. **Perl模块和CPAN**:Perl模块是预编译的代码库,用于扩展语言功能。CPAN(Comprehensive Perl Archive Network)是世界上最大的开源软件仓库之一,提供了数千个Perl模块供开发者使用。 6. **Perl错误和警告**:...
Strawberry Perl 5.10.1.0.msi是这个特定版本的安装程序,它包含了Perl解释器、标准库以及一些常用的Perl模块,使得开发者无需繁琐配置即可在Windows系统上进行Perl开发工作。 在Perl 5.10.1.0中,引入了诸如say、...
此外,它还可能深入讨论Perl的内核机制,如编译器和解释器的工作原理,以及如何编写自己的Perl模块。 Perl语言的一大特点是其“ TIMTOWTDI”哲学,即“There Is More Than One Way To Do It”,这鼓励程序员以多种...
Strawberry Perl包含了C编译器和许多常用的Perl模块,方便开发者编写和运行CPAN(Comprehensive Perl Archive Network)上的第三方模块。 描述中提到的“解决官网下载速度过慢的问题”,意味着可能用户在尝试从Perl...
比如,如果你有一个名为`MyModule`的Perl模块,其目录结构如下: ``` MyModule/ Makefile.PL lib/ MyModule/ .pm 文件 t/ (测试目录) .t 测试文件 ``` 你可以进入`MyModule`目录,运行`perl Makefile.PL`来...
4. **Perl模块**:Perl模块是封装好的功能集,可以被其他Perl脚本导入并使用。例如,CGI模块用于编写Web服务器上的CGI脚本,DBI模块用于数据库交互。 5. **变量和数据类型**:Perl支持多种数据类型,包括标量(如...
- [CPAN](https://metacpan.org/):Perl模块仓库,提供了大量的第三方模块供开发者使用。 #### 九、案例分析 - **实际项目案例**:通过具体案例来展示如何使用Perl解决实际问题,例如自动化脚本编写、Web应用开发...
- **步骤**: 安装核心Perl模块和支持Genesis的模块。 - **说明**: Perl有许多额外的模块来扩展其功能。这里需要确保`core`模块已安装,并且还需要安装`Genesis.pm`和`server.pl`这两个特定于Genesis的模块。 - **...