设为首页 收藏本站
开启辅助访问 快捷导航
菜单
猿人部落 主页 资讯 查看内容

【编程语言】快速掌握 Perl

2019-8-1 05:09 发布者: 木子独飞 评论 0 查看 1089
弁言: 1987年Larry Wall发布Perl1.0以来,用户数不绝急剧增长,同时越来越多的步伐员与软件开发者(商)到场Perl的开发。从最初被当做一种跨平台环境中誊写可移植工具的高级语言开始,Perl被广泛地以为是一种工业

弁言:

1987年Larry Wall发布Perl1.0以来,用户数不绝急剧增长,同时越来越多的步伐员与软件开发者(商)到场Perl的开发。从最初被当做一种跨平台环境中誊写可移植工具的高级语言开始,Perl被广泛地以为是一种工业级的强盛工具,可以在任何地方用来完成你的工作。perl的前身是Unix体系管理的一个工具,被用在无数的小使命里。后徐徐发展成为一种功能强盛的步伐计划语言,用作Web编程、数据库处理惩罚、XML处理惩罚以及体系管理;在完成这些工作时,同时仍能处理惩罚一样平常微小工作,这是它的计划初志。Perl特别恰当体系管理和Web编程。实际上已经被用在全部Unix(包罗Linux)捆绑在一起作为尺度部件发布,同时也用于Microsoft Windows和险些全部使用体系。Perl的应用非常广泛。

关于Perl具体自学内容:Perl完全自学手册

根本信息:

Perl,一种功能丰富的盘算机步伐语言,运行在高出100种盘算机平台上,实用广泛,从大型机到便携装备,从快速原型创建到大规模可扩睁开发。 

Perl最初的计划者为拉里·沃尔(Larry Wall),于1987年12月18日发表。如今的版本为Perl 6,于2015年12月25日更新。

Perl借取了C、sed、awk、shell 脚本语言以及很多其他步伐语言的特性,此中最告急的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。简而言之,Perl像C一样强盛,像awk、sed等脚本形貌语言一样方便,被Perl语言爱好者称之为“一种拥有各种语言功能的梦幻脚本语言”、“Unix 中的王牌工具”。

Perl 一样平常被称为“实用报表提取语言”(Practical Extraction and Report Language),你也大概看到“perl”,全部的字母都是小写的。一样平常,“Perl”,有大写的 P,是指语言本身,而“perl”,小写的 p,是指步伐运行的表明器。

Perl 最初的计划者为拉里·沃尔(Larry Wall),他于1987年12月18日发表。Perl借取了C、sed、awk、shell 脚本语言以及很多其他步伐语言的特性。此中最告急的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。

Perl 被称为“实用报表提取语言”(Practical Extraction and Report Language)。它是术语,而不但仅是简写,Perl的创造者,Larry Wall提出第一个,但很快又扩展到第二个。那就是为什么“Perl”没有全部字母都大写。没须要争论哪一个精确,Larry 两个都认可。

长处:

Perl寻求的是简朴, 办理一个一样平常的题目用它几行代码就完成了. 一个稍复杂一点的题目代码也不会高出一屏! 在软件测试中,Perl通常黑白常告急的脚色。一样平常一个测试通用函数库就要分十几个文件,乃至更多,包罗多达上千个定制功能。而这些函数将在主函数运行时,不定命量的被调用。险些可以说,统统主动过程都是由Perl本身完成的,可见其功能的强盛和在当今盘算机技能高速发展的时期仍旧发挥着告急的作用。

Perl 最初是当做一种 Unix 的脚本语言计划的,但是它早就移植到大多数别的使用体系里了。由于 Perl 险些可以在任何地方运行,以是 Perl 可以说是当今最具有移植性的编程环境;要想写可移植的 C/C++ 步伐,你得在步伐里加上一大堆 #ifdef 标签来区分差别的体系;要想写可移植的 Java 步伐,你必须明白每种新的 Java 实现的特质;要想写可移植的shell,你大概要记着每条下令在每种使用体系上的语法,交运的时间你大概可以找到一些公共的东西;要想写可移植的 Visual Basic 步伐,必要对“移植”有个更机动的界说。

让我们很高兴的是 Perl 制止了全部这些题目,同时还保存了这些语言中的很多长处,同时另有一些本身的特色。Perl 的特色来自很多方面:它的特性集的工具,Perl 社区的创造性,以及开源活动的大环境。不外,很多这些特性都是混淆的东西;Perl 的出身复杂,它总是把事物当作是长处的差别方面,而不是缺点。Perl 是“背黑锅我来”的语言。如果你以为本身陷入一团乱麻之中,非常渴望自由,那么请使用 Perl。

Perl 是跨文化的。Perl 的爆炸性增长很大程度上是由于那些前 Unix 体系步伐员的渴望,他们渴望从他们的“故乡”带着尽大概多的东西。对于他们而言,Perl 是可移植的 Unix 文化蒸馏器,是"此路不通"的戈壁中的绿洲。从别的一个角度来看,Perl 还可以从别的一个方向运转:在 Windows 上工作的 web 计划者通常会非常开心地发现他们的 Perl 步伐可以不加修改地在 Unix 服务器上跑。
只管 Perl 在体系步伐员和 web 计划师中心非常盛行,但这只是由于是他们最早发现 Perl 的,Perl 可以用于更广泛的用途。从 Perl 最早的文本处理惩罚语言开始,它已经发展成为一种非常复杂的,通用的编程语言,以及完备的开发环境,包罗调试器,调治器,交织引用,编译器,库,语法提示编辑器,以及全部别的“真正”的编程语言所具有的全部挂勾,只要你必要。固然这些东西都是让我们大概处理惩罚难的题目标东西,而且很多别的语言也可以做到这一点。Perl 之以是成为 Perl 是由于它从来不会由于保持简朴事变简朴化而丢失其他方面的特性。

由于 Perl 既强盛又好用,以是它被广泛地用于一样平常生存的方方面面,从宇航工程到分子生物学,从数学到语言学,从图形处理惩罚到文档处理惩罚,从数据库使用到网络管理。很多人用 Perl 举行快速处理惩罚那些很难分析或转换的大批量数据,不管你是处理惩罚 DNA 序列,网页,还是猪肚皮的未来都无所谓。实际上,在 Perl 社区有一个笑话就是,下次股市大崩盘就很有大概是哪个家伙写的脚本里头有bug造成的。(不外,乐观点来看就是,任何还在赋闲的股票分析师仍旧有可以使用的本领。)
Perl 的乐成有很多缘故原由。Perl 早在开源软件的名字出现之前就已经是一个乐成的开源项目了。Perl 是自由的,并将永世自由下去。你可以在任何符合的场所使用 Perl,只必要服从一个非常自由的版权就可以了。如果你在从事商业活动而且还想使用 Perl,那么用就是了。你可以把 Perl 嵌入到你写的商业软件中而不必要付出任何费用也没有任何限定。如果你碰上一个 Perl 社区办理不了的题目,那你也另有末了的一招:源步伐本身。 Perl 社区不会在“升级”的伪装下租给你它们的商业机密。而且 Perl 社区也不会“停业 ”,更不会让你孤立无援。

Perl 是自由软件这一点无疑对它是有资助的。但这一条并不敷以表明 Perl 征象,由于很多自由软件包没有能繁荣起来。Perl 不但自由;而且好玩。人们以为本身在 Perl 里可以有创造力,由于它们有表达的自由:他们可以选择是为盘算机速率优化还是为步伐员的速率优化,是冗长还是轻巧,是选择可读性还是可维护性,大概选择复用性,移植性,担当性和传授性等等。如果你进入一次暗昧的 Perl 角逐,乃至你还可以为暗昧性做优化。
Perl 可以给予你全部这些自由,由于它是一门有着分裂品德的语言。Perl 同时是很简朴而且很富有的语言。Perl 从别的地方拿来好主意,然后把它们安装到易用的框架内里。对于只是喜好她的人来说,Perl 是实用抽取和报表语言(Practical Extractoin and Report Language)。对那些热爱她的人而言,她是失常电子垃圾制造者(Pathologically Electric Rubbish Lister)。在少数人眼里,Perl 是毫偶然义的重复训练。不外天下必要一点点冗余。精简主义者总是想把事物分隔开。而我们则总是操持把它们归并到一起。

Perl 之以是是简朴的语言是有很多缘故原由的。好比你用不着知道什么特别的指令就可以编译 Perl 步伐--只要把它当做批处理惩罚大概 shell 脚本实行就可以了。Perl 的范例和结构很轻易使用和明白。Perl 对你的数据没有任何限定--你的字串和数组可以要多长就多长(只要你有富足的内存),而且它们都会主动增长。Perl 不会逼迫你学习新的语法和语意,Perl 改从很多别的你已经熟悉的语言里(好比 C, awk, BASIC 和 Python, 英文,希腊语等)借来语法。实际上,任何步伐员都可以从誊写良好的 Perl 代码段中读懂它的寄义。

最告急的是,你不消先学习全部 Perl 的东西就可以开始写有用的步伐。你可以写很小的 Perl 步伐。你也可以象小孩那样写 Perl 步伐,我们包管不会笑话你。大概更精确地说是,我们绝不会笑话小孩办事变的创造性。Perl 里的很多观点都是从天然语言中借来的,此中一条最好的观点就是只要你能把本身的意思表述清晰,那么你就可以使用这些语言的一个子集。Perl 文化可以担当任何纯熟程度的成员。我们不会在你背后放个语言警员。如果你的老板不炒你,而且你的 Perl 脚本也能完成工作,那么它就是“精确”的。

只管 Perl 很简朴,但它仍旧是一种特性很丰富的语言,如果你想用那些特性的话,那你就要学习一些东西。这也是把困难变简朴的学费。固然你要想把全部 Perl 能做的事变汲取还必要一些时间,但到你必要这些功能的时间你就会非常开心地发现 Perl 已经可以做这些事变了。

由于 Perl 的继承性,就算它只是用做数据归纳语言的时间也有丰富的特性,Perl 一开始就计划成可以欣赏文件,扫描大量文本而且天生动态数据以及打印出这些数据的良好格式化的报表。不外,随后 Perl 就开始风行,于是它就成了可以使用文件体系,历程管理,数据库管理,举行 C/S 编程和安全编程,web 信息管理,乃至可以举行面向对象和面向功能的编程的语言。而且这些功能并非只是在 Perl 这边,每种新功能都和别的东西交换得很好,别忘了 Perl 从一开始就是计划成胶水语言的。
而且 Perl 并不但仅只能黏合它本身的特性。Perl 是计划成可以用模块扩展的语言。你可以用 Perl 快速计划,编写,调试和摆设 Perl 应用,而且你还可以在必要的时间很方便地扩展这些应用。你可以在别的语言里嵌入 Perl,而且你也可以在 Perl 里嵌入别的语言。通过模块输入机制,你可以把这些外部的扩展当做内置于 Perl 的特性。那些面向对象的外部库在 Perl 内部仍旧保持面向对象的特性。

Perl 还在很多别的方面资助你。和严格的每次实行一条下令的下令文件和 shell 脚本差别的是,Perl 先把你的步伐快速编译成一种内部格式。和别的任何编译器一样,这个时间还举行各种优化,同时把碰到的任何题目反馈给你。一旦 Perl 的编译器前端对你的步伐表现满足了,它就把这些中心代码交给表明器实行(大概是给别的的能天生 C 大概字节码的模块后端)。听起来挺复杂,不外 Perl 的编译器和表明器干这些活服从相称高,我们的编译-运行-修改的过程险些都是以秒计。再加上 Perl 的很多其他开发特性,这种快速的脚色转换很恰当做快速原型计划。然后随着你的步伐的成熟,你可以徐徐拧紧身上的螺母,淘汰散漫加强规律。如果你做得好,Perl 也能帮你这个忙。
Perl 还可以帮你写更安全的步伐。除了别的语言提供的范例的安全接口之外,Perl 还通过一种跟踪数据的机制给你提供防备不测安全错误的掩护,如许就可以在劫难发生之前防备其发生。末了,Perl 还可以让你设置一个特别的防护隔段运行那些泉源不明的 Perl 代码,以此来杜绝伤害使用。
不外,偏执一点儿说,Perl 帮你的大部门内容和 Perl 本身没有什么关系,而是和使用 Perl 的人有关。坦率地说,Perl 社区的人们可以说是地球上最热心的人了。如果 Perl 活动内里有那么一点点宗教色彩的话,那么这就是它的核心了。Larry 渴望 Perl 社区像一小片天国那样运转,如今看来他的愿望根本上是实现了。我们也请你为此做出本身的积极。

Perl之以是强盛, 是由于有CPAN, CPAN上面有无数的开源模块, 从科学盘算到桌面应用到网络等等各个方面都有大量的模块! 而且天下上也另有无数的人在向上面添加模块! 如果你想要用PERL实现某功能, 不消本身做, 在CPAN上面搜一搜, 多半都会得到已有的效果! CPAN("the Comprehensive Perl Archive Network"全面的 Perl 存档网络)是查找任何 Perl 有关的东西的中心堆栈。它包罗从整个 Perl 社区网络来的聪明:成百上千的 Perl 模块和脚本,相称于好几本书的文档,以及整个 Perl 发布。如果有东西是用 Perl 写的,而且这个东西很有用而且是自由的,那么它很有大概就在 CPAN 上。

缺点:

也正是由于Perl的机动性和“过分”的冗余语法,也因此得到了write-only的“美誉”,由于很多Perl步伐的代码令人难以阅读,实现类似功能的步伐代码长度可以相差十倍百倍。但Perl同样可以将代码誊写得像Python或Ruby等语言一样优雅。很多时间,perl.exe历程会占用很多的内存空间,固然只是一时,但是感觉不好。

阿里云开发者社区全面升级,一站式体验,用得更爽:(阿里云开发者社区首页)



路过

雷人

握手

鲜花

鸡蛋
收藏 邀请
上一篇:二层交换安全下一篇:[Linux]运维面试(四)

相关阅读

一周热门

头条攻略!

日排行榜

相关分类