Perl 入门教程

收藏(1)分享
阅读(4090)更新时间(2016-10-15)

Perl 是 Practical Extraction and Report Language 的缩写,可翻译为 “实用报表提取语言”。 Perl 是高级、通用、直译式、动态的程序语言。 Perl 最初的设计者为拉里·沃尔(Larry Wall),于1987年12月18日发表。 Perl 借用了C、sed、awk、shell脚本以及很多其他编程语言的特性。 Perl 最重要的特性是Perl内部集成了正则..


Perl是高端、通用、解释型、动态的编程语言家族。最初设计者拉里·沃尔为了让在UNIX上进行报表处理的工作变得更方便,决定开发一个通用的脚本语言,而在1987年12月18日发表。当前,Perl语言家族包含两个分支Perl 5以及Perl 6(开发中)。虽然Perl不是正式的首字母缩略词,但仍有各种各样的逆向首字母缩略词,包括“实用的提取和报告语言”。

Perl借用了C、sed、awk、shell脚本以及很多其他编程语言的特性。其中最重要的特性是Perl内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。

2000年开始,当前拉里·沃尔开始开发Perl 6,来作为Perl的后继;不过,Perl 6语言的语法有很多转变,所以Perl 6被视为Perl家族中的另一个语言。

Perl语言的应用范围很广,除CGI以外,Perl被用于图形编程、系统管理、网络编程、金融、生物以及其他领域。由于其灵活性,Perl被称为脚本语言中的瑞士军刀。

提示:如果你学习过PHPASP等其他编程语言,将有助于你更快的了解 Perl 编程。

下面让我们感受下第一个Perl程序吧!

Perl的Hello World程序

下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言的第一个示例:

实例

#!/usr/bin/env perl

print "Hello, world!\n";

运行实例 »

点击 "运行实例" 按钮查看在线实例

如果有perl 5.10以上的版本,也可以这样:

实例

#!/usr/bin/env perl

use 5.010;

say "Hello, world!";

运行实例 »

点击 "运行实例" 按钮查看在线实例

这个程序将输出一行字符串:“Hello, world!”,以及一个换行。

提示:我们的perl教程将帮助您学习从初级到高级的perl知识。如果你有任何疑问,请前往PHP中文网perl社区提出你的问题,会有热心网友为你解答。

Perl优缺点

  • 优点

为了实现这样的目标,并且又因为Larry Wall本人也是一个语言学家,他设计Perl语言时使用了很多语言学的思维。相比C、Pascal这样的“高级”语言而言,Perl语言直接提供泛型变量、动态数组、Hash表等更加便捷的编程元素。Perl具有动态语言的强大灵活的特性,并且还从C/C++、Basic、Pascal等语言中分别借鉴了语法规则,从而提供了许多冗余语法。

使得程序员可以忽略计算机内部数据存储、类型、处理方法、运算规则、甚至内存越界等等的细节,而将思考中心放在所需要的程序逻辑上。就这一点而言,很多Perl程序员认为当前只有Perl、Python等泛型语言才能称为“高级”语言,而C、Pascal甚至C++这些只能称为“中高级”语言而已。可以说,在统一变量类型和掩盖运算细节方面,Perl做得比Python更为出色。

由于从其他语言大量借鉴了语法,使得从其他编程语言转到Perl语言的程序员可以迅速上手写程序并完成任务,这使得Perl语言是一门容易用的语言。

  • 缺点

也正是因为Perl的灵活性和“过度”的冗余语法,也因此获得了仅写(write-only)的“美誉”,因为Perl程序可以写得很随意(例如,变量不经声明就可以直接使用),但是可能少写一些字母就会得到意想不到的结果(而不报错),许多Perl程序的代码令人难以阅读,实现相同功能的程序代码长度可以相差十倍百倍,这就令程序的维护者(甚至是编写者)难以维护。

同样的,因为Perl这样随意的特点,可能会导致一些Perl程序员遗忘语法,以至于不得不经常查看Perl手册。对此,《Learning Perl》一书里建议经常使用Perl编程。

建议的解决方法是在程序里使用use strict;以及use warnings;,并统一代码风格,使用库,而不是自己使用“硬编码”。Perl同样可以将代码书写得像Python或Ruby等语言一样优雅。

本Perl教程手册涵盖的内容

本Perl教程涵盖所有Perl基础和高级知识,包含了Perl语法、Perl数据类型、Perl变量、Perl标量、Perl数组、Perl哈希、Perl运算符、Perl函数、Perl面向对象、Perl进程管理等等。

提示:本教程的每一章都包含了很多Perl实例,您可以直接点击 "运行实例" 按钮在线查看结果。这些例子将帮助您更好地理解和运用Perl。