周末没事,看了下perl的书,刚开始不是很理解perl的自定义模块调用。刚弄明白,顺便记录下来!
1 #!/usr/bin/perl
2 push (@INC,'pwd');
3 use Cocoa;
4 $cup = new Cocoa;
第一行指出Perl解释器的位置,第二行中,将当前目录加到路径寻找列表@INC中供寻找包时使用。你也可以在不同的目录中创建你的模块并指出该绝对路径。例如,如果在D:/perl_example/obj/package/创建包,第二行就应该如下:
push (@INC , "D:/perl_example/obj/package/");
在别的地方就应该这么的引用到该包:
BEGIN{push @INC, "D:/perl_example/obj/package/";}
在第三行中,包含上包Cocoa.pm以获取脚本中所需功能。use语句告诉Perl在@INC路径寻找文件Cocoa.pm并包含到解析的源文件拷贝中。use语句是使用类必须的。第四行调用new函数创建对象,这是Perl的妙处,也是其易混淆之处,也是其强大之处。创建对象的方法有多种,可以这样写:
$cup = Cocoa->new();
如果你是C程序员,可以用双冒号强制使用Cocoa包中的new()函数,如:
$cup = Cocoa::new();
可以在构造函数中加入更多的代码,如在Cocoa.pm中,可以在每个对象创建时输出一个简单声明,还可以用构造函数初始化变量或设置数组或指针。
注意:
1、一定要在构造函数中初始化变量;
2、一定要用my函数在方法中创建变量;
3、一定不要在方法中使用local,除非真的想把变量传递给其它子程序;
一点小小的知识点,赶紧记下来!
分享到:
相关推荐
Perl-lambda-byor 是一个专为在 Amazon Web Services (AWS) Lambda 上运行 Perl 脚本而设计的自定义运行时环境。这个项目允许开发者利用 Perl5 的强大功能来构建和部署 AWS Lambda 函数,打破了 Lambda 仅支持特定...
如果"LPERL.ADD"指的是一个自定义模块,那么它可能包含了一些特定的函数或者子程序,为Perl程序提供了额外的操作或功能。例如,它可能包含了一系列处理特定类型数据的方法,或者是为了提高性能而优化的一些算法。...
10. **系统交互**:Perl可以直接调用系统命令,如system函数,或者通过backticks或qx运算符来执行shell命令。 这个“Perl语言参考手册中文html”将详细介绍以上所有内容,对于初学者和经验丰富的Perl开发者来说,都...
5. **函数与模块**:Perl函数可以自定义,也可以使用CPAN(Comprehensive Perl Archive Network)中的大量预定义模块。`require`或`use`语句可以导入模块,扩展Perl的功能。 6. **文件操作**:Perl可以方便地读写...
在使用ActivePerl时,开发者可以利用Perl的强大功能,例如正则表达式处理、文件I/O、系统调用、网络通信等。此外,由于Perl的跨平台性,开发者还可以在其他操作系统上(如Linux或macOS)编写代码,并在Windows环境下...
3. **灵活性**:该模块允许用户自定义编码和解码的行为,例如设置日期格式化、控制浮点数精度等。 4. **安全**:JSON-PP具有防范XSS攻击的安全特性,可以阻止恶意的JavaScript代码在解码时被执行。 5. **错误处理*...
6. **环境变量**:根据需要更新环境变量,例如设置`PERL5LIB`来指向自定义的模块路径。 在Perl中,你可以通过`use Crypt::OpenSSL::*;`这样的语句来导入OpenSSL相关的模块,如`Crypt::OpenSSL::RSA`用于RSA加密,`...
通常,`C:\Perl64\site`代表的是Perl的site lib目录,这个目录用于存放用户自定义或者非标准的模块和库,不会被Perl升级时覆盖,因此是安全存储第三方扩展的好地方。将dmake的相关文件放在这里,可以使Perl在执行...
- **自定义模块**:开发者可以根据需要创建自己的模块,以封装重复使用的代码片段或功能。 #### 5. 面向对象编程 - **类和对象**:Perl支持面向对象编程,可以通过包来定义类,并使用new方法实例化对象。 - **继承...
Perl支持自定义函数,可以创建并调用自己的功能模块,提高代码的重用性和可读性。了解如何定义、调用函数以及传递参数是必备技能。 正则表达式是Perl的一大特色,它用于高效地处理字符串匹配和替换。学习正则表达式...
研究这些文件可以帮助理解如何从源代码构建Perl解释器,这对于开发者自定义或扩展Perl功能非常有用。 6. **调试和测试**:Perl的源代码中还可能包含单元测试和集成测试,这有助于保证代码质量并帮助开发者调试。...
`Canvas` 组件是 Perl/Tk 的一个强大特性,它允许你在窗口上绘制自定义图形,如线条、矩形、椭圆、文本等。通过 `create` 方法创建图形对象,然后可以对这些对象进行移动、改变颜色等操作。 除了上述基本功能,Perl...
4. **函数**:Perl支持用户自定义函数,可以通过 prototypes 定义函数调用的格式。 5. **模块**:Perl的模块系统是其强大之处,通过`use`或`require`引入模块,可以方便地重用和扩展代码。 6. **异常处理**:Perl...
6. **对象导向编程**:Perl支持面向对象编程,手册将介绍类、对象、继承等概念,以及如何创建和使用自定义的模块。 7. **错误处理和调试**:讲解如何捕获和处理错误,以及使用各种调试工具进行代码调试。 8. **...
模块是Perl的另一大特色,它们封装了特定的功能,可以被其他程序调用。Perl的CPAN(Comprehensive Perl Archive Network)库提供了数千个预编译的模块,涵盖了各种用途,从网络编程到数据库接口,应有尽有。 在学习...
3. **模块和CPAN**:Perl拥有丰富的模块生态,通过 Comprehensive Perl Archive Network (CPAN) 可以获取到数以万计的预编译模块。学习如何使用CPAN,安装和使用第三方模块来扩展Perl的功能。 4. **对象导向编程**...
利用Perl和mod_perl,可以开发自定义的Apache模块以扩展服务器的功能。 **2.5 编写mod_perl模块** mod_perl提供了API来编写高性能的Perl模块,以更紧密地集成到Apache中。 **2.6 CGI到mod_perl移植编码指南** ...
在Perl代码中,通过创建一个Logger对象并调用其方法,可以方便地记录不同级别的信息。 2. **Appender**:Appender是Log4perl的另一个关键组件,它定义了日志信息的输出目的地。常见的Appender有屏幕输出、文件写入...
3. **perlcall.htm**:这部分内容专门讨论如何从 Perl 调用其他编程语言编写的子程序,或者反过来,如何让其他语言调用 Perl 代码。它涵盖了 XS 和 Inline::C 等技术,以及 Perl 的外部接口(XS API)。 4. **...