您正在从Perl 5.005_01查看此文档的版本。查看最新版本
#Perl 5.005_01文档
为了便于访问,Perl手册分为多个部分:
perl-perl概述(本节)珍珠三角洲Perl自上一版本以来的更改佩尔法克Perl常见问题珀尔托克Perl文档目录珍珠数据Perl数据结构珍珠合成器Perl语法珀洛普Perl运算符和优先级珍珠岩Perl正则表达式珀尔伦Perl执行和选项珀尔funcPerl内置函数佩尔瓦尔Perl预定义变量珀尔苏布Perl子例程珀尔莫德Perl模块:工作原理perlmodlibPerl模块:如何编写和使用perlmodinstall公司Perl模块:如何从CPAN安装珍珠岩Perl格式珍珠岩Perl语言环境支持perlref公司Perl引用perldsc公司Perl数据结构简介珍珠糖Perl数据结构:列表列表珍珠香椿Perl OO教程珀罗布吉Perl对象珍珠岩隐藏在简单变量后面的Perl对象珀尔伯特Perl OO技巧和示例珍珠岩Perl进程间通信perldebugPerl调试perldiag公司Perl诊断消息珀尔secPerl安全性珍珠岩不小心的Perl陷阱珀尔波特Perl可移植性指南佩尔斯泰尔Perl风格指南珍珠贝Perl纯旧文档珍珠书Perl图书信息被玷污的Perl在C或C++应用程序中嵌入Perl的方法佩拉皮奥Perl内部IO抽象接口珍珠色Perl XS应用程序编程接口珀尔克斯图特Perl XS教程珍珠胶用于执行扩展的Perl内部函数珍珠贝C语言的Perl调用约定珍珠岩Perl历史记录
(如果您打算第一次直接阅读这些内容,建议的顺序将有助于减少正向引用的数量。)
默认情况下,上述所有手册页都安装在/usr/local/man/目录。
提供了有关Perl模块的大量附加文档。perl的默认配置将把这个附加文档放在/usr/local/lib/perl5/man目录(或男人Perl库目录的子目录)。其中一些附加文档是用Perl标准分发的,但您也可以在那里找到第三方模块的文档。
通过在适当的启动文件或MANPATH环境变量中包含适当的目录,您应该能够使用man(1)程序查看Perl的文档。要查找配置已安装手册页的位置,请键入:
perl-V:手册.dir
如果目录有一个公共词干,例如/usr/local/man/man1和/usr/local/man/man3,只需添加阀杆(/usr/local/man)到man(1)配置文件或MANPATH环境变量。如果它们不共享一个茎,则必须同时添加两个茎。
如果由于某种原因,这不起作用,您仍然可以使用提供的珀尔多克用于查看模块信息的脚本。你也可以考虑换一个人。
如果您的程序出现了一些奇怪的问题,并且您不确定应该在哪里寻求帮助,请尝试-w个先切换。它通常会准确地指出问题所在。
完整的perl(1)文档:perl语言
#参考列表
#关于Perl
Perl是一种针对扫描任意文本文件、从这些文本文件中提取信息以及基于这些信息打印报告而优化的语言。对于许多系统管理任务来说,它也是一种很好的语言。语言的目的是实用(易于使用、高效、完整),而不是美观(微小、优雅、简约)。
Perl结合了(无论如何,在作者看来)C的一些最佳特性,塞德,awk公司、和第页,所以熟悉这些语言的人应该不会有什么困难。(语言历史学家也会注意到csh公司、帕斯卡,甚至BASIC-PLUS。)表达式语法与C表达式语法非常相似。与大多数Unix实用程序不同,Perl不会任意限制数据的大小——如果您有内存,Perl可以将整个文件作为单个字符串。递归具有无限的深度。散列使用的表(以前称为“关联数组”)会根据需要增长,以防止性能下降。Perl使用复杂的模式匹配技术快速扫描大量数据。尽管Perl针对扫描文本进行了优化,但它也可以处理二进制数据,并可以使dbm文件看起来像散列。Setuid Perl脚本通过数据流跟踪机制比C程序更安全,可以防止许多愚蠢的安全漏洞。
如果您有通常使用的问题塞德或awk公司或第页,但它超出了它们的能力,或者必须运行得更快一些,而且您不想用C编写这种愚蠢的东西,那么Perl可能适合您。也有翻译人员将您的塞德和awk公司脚本转换为Perl脚本。
但等等,还有更多。。。
Perl版本5几乎是一次完整的重写,并提供了以下附加好处:
许多可用性增强
现在可以编写可读性更高的Perl代码(甚至在正则表达式中)。以前神秘的变量名可以用助记标识符代替。错误消息的信息量更大,可选警告将捕捉到初学者可能犯的许多错误。这一点再怎么强调也不为过。每当你有神秘行为时,试试-w个切换!!!当你没有神秘行为时,尝试使用-w个无论如何。
简化语法
新的yacc语法是旧语法的一半大小。许多武断的语法规则已被规范化。保留字的数量减少了2/3。尽管如此,几乎所有旧的Perl脚本都将继续保持不变。
词汇范围
Perl变量现在可以在词法范围内声明,就像C中的“auto”变量一样。这不仅效率更高,而且有助于提高“大规模编程”的隐私性。匿名子例程展示了词汇变量(闭包)的深层绑定。
任意嵌套的数据结构
任何标量值(包括任何数组元素)现在都可以包含对任何其他变量或子例程的引用。您可以轻松创建匿名变量和子例程。Perl为您管理引用计数。
模块化和可重用性
Perl库现在是以模块的形式定义的,这些模块可以很容易地在不同的包之间共享。包可以选择导入模块已发布接口的全部或部分。Pragmas(即编译器指令)由相同的机制定义和使用。
面向对象编程
包可以用作类。动态多重继承和虚拟方法以简单的方式得到支持,并且几乎没有新的语法。文件句柄现在可以被视为对象。
可嵌入和可扩展
Perl现在可以很容易地嵌入到C或C++应用程序中,并且可以通过文档化的接口调用或由例程调用。提供XS预处理器是为了便于将C或C++例程粘贴到Perl中。支持模块的动态加载,Perl本身可以成为一个动态库。
符合POSIX
一个主要的新模块是POSIX模块,它通过适当的对象类提供对所有可用POSIX例程和定义的访问。
包构造函数和析构函数
新的BEGIN和END块提供了在编译包时以及程序退出后捕获控制的方法。作为一种退化的情况,当您使用-对或-n个开关。
多个同步DBM实施
Perl程序现在可以从同一脚本同时访问DBM、NDBM、SDBM、GDBM和Berkeley DB文件。事实上,旧的dbmopen接口已经被通用化,允许将任何变量绑定到定义其访问方法的对象类。
现在可以自动加载子例程定义
事实上,AUTOLOAD机制还允许您为未定义的子例程调用定义任意语义。它不仅仅用于自动加载。
正则表达式增强
现在可以指定非自由量词。现在可以进行分组,而无需创建反向引用。为了可读性,现在可以编写带有嵌入空格和注释的正则表达式。添加了一个一致的可扩展性机制,该机制向上兼容所有旧的正则表达式。
无数未绑定模块
中描述的综合Perl存档网络perlmodlib包含数百个可重用代码的即插即用模块。请参见http://www.perl.com/CPAN为您附近的站点。
可编译性
虽然尚未处于完全生产模式,但确实存在一个可以工作的perl-to-C编译器。它可以生成可移植的字节码、简单的C或优化的C代码。
好吧,就是这样一定地足够的炒作。