Perl 简介
Perl是一种通用的、高水平的解释和动态编程语言。它是由 Larry Wall 在 1987 年开发的。Perl没有正式的全称,但最常用的扩展是 “实用提取和报告语言 “。一些程序员也把Perl称为 “病态折衷的垃圾整理器 “或 “实际上一切都很可爱”。实用提取和报告语言 “这个缩写被广泛使用,因为 Perl 最初是为文本处理而开发的,比如从指定的文本文件中提取所需的信息,并将文本文件转换为不同的形式。
Perl同时支持程序化和面向对象的编程。Perl在语法上与C语言很相似,对于有 C 、 C++ 知识的用户来说很容易。
Perl的演变
这一切都始于Larry Wall的一项工作,即从大量有交叉引用的文本文件中生成报告。然后他开始使用awk来完成这项任务,但很快他发现它不足以完成这项任务。因此,他没有为这个任务写一个工具,而是写了一种新的语言,即Perl,并为它写了一个解释器。他用C语言编写了Perl,其中的一些概念来自awk、sed和LISP等。在最初的阶段,Perl只为系统管理和文本处理而开发,但在后来的版本中,Perl有了处理正则表达式和网络套接字等的能力。目前,Perl因其处理Regex(正则表达式)的能力而受到欢迎。Perl的第一个版本是 1. 0 ,发布于1987年12月18日。Perl 的最新版本是5.28。 Perl 6 与Perl 5不同,因为它是Perl 5的一个完全面向对象的重新实现。
为什么是Perl
Perl 的流行和需求有很多原因。下面提到了其中的几个原因。
- 易于入门: Perl 是一种高级语言,所以它与其他流行的编程语言如 C、C++ 比较接近,因此,对任何人来说都很容易学习。
- 文本处理: 正如 “实用提取和报告语言 “的缩写所示,Perl具有很高的文本处理能力,它可以很容易地从不同的文本文件中生成报告。此外,它还可以将文件转换成另一种形式。
- 包含的最佳功能: Perl 包含了不同语言的功能,如 C、sed、awk 和 sh 等,这使得 Perl 更加有用和富有成效。
- 系统管理: 由于拥有不同的脚本语言能力,Perl使系统管理的任务变得非常容易。与其依赖许多语言,不如用Perl来完成整个系统管理的任务。除此之外,Perl还被用于网络编程、网络自动化、GUI编程等。
- 网络和Perl: Perl可以被嵌入到网络服务器中,以提高其处理能力,而且它有DBI包,这使得网络-数据库的整合变得非常容易。
开始学习Perl编程 。
- 寻找解释器: 有各种在线的集成开发环境,可以用来运行Perl程序而无需安装。
- Windows: 有各种IDE可以运行Perl程序或脚本: Padre 、 带有EPIC插件的Eclipse 等。
用Perl编程
由于 Perl 在语法上与其他广泛使用的语言有很多相似之处,所以用 Perl 编码和学习比较容易。可以在任何一个广泛使用的文本编辑器中用Perl编写程序,如 Notepad++ , gedit 等。编写完程序后,将文件保存为扩展名 .pl 或 .PL 。要运行程序,在命令行中使用 perl file_name.pl 。
例子: 一个简单的程序,用于打印欢迎来到GFG!
# Perl program to print Welcome to GFG!
#!/usr/bin/perl
# Below line will print "Welcome to GFG!"
print "Welcome to GFG!\n";
输出
Welcome to GFG!
注释: 注释是用来提高代码的可读性。解释器将忽略注释条目,不执行它们。注释可以是单行的,也可以是多行的。
- 单行注释:
语法:
# Single line comment
- 多行注释:
语法:
= Multi line comments
Line start from = is interpreted as the
starting of multiline comment and =cut is
consider as the end of multiline comment
=cut
print: 它是Perl中的一个函数,用于在控制台显示结果或任何指定的输出。
引号: 在Perl中,你可以使用单引号(”)或双引号(””)。使用单引号不会对任何变量或特殊字符进行插值,而使用双引号则会进行插值。
\n: 它用于新行字符,使用反斜杠(\)字符来转义任何类型的字符。
/usr/bin/perl: 它是实际的Perl解释器二进制文件,总是以#!开头。这是在Perl脚本模式编程中使用的。
注意: Perl是一种区分大小写的编程语言,这就是为什么Geeks和geeks是两个不同的标识。
Perl的优点
- Perl支持跨平台,它与HTML、XML等标记语言兼容。
- 它在文本处理方面非常有效,即正则表达式。它还提供插座功能。
- 它是免费的开源软件,在艺术性和GNU通用公共许可证(GPL)下获得许可。
- 它是一种可嵌入的语言,这就是为什么它可以嵌入到网络服务器和数据库服务器中。
- 它支持 CPAN(Perl综合档案网) 上的25,000多个开源模块,这些模块为标准库提供了许多强大的扩展。例如,XML处理、GUI(图形用户界面)和DI(数据库集成)等。
Perl的劣势
- 由于 CPAN 模块的存在,Perl不支持可移植性。
- 程序运行缓慢,而且每次做任何改动时都需要解释程序。
- 在Perl中,同样的结果可以用几种不同的方法来实现,这使得代码不整齐,也不容易阅读。
- 与其他语言相比,可用性因素较低。
应用
- Perl语言的主要应用之一是对文本文件的处理和对字符串的分析。
- Perl还用于CGI(通用网关接口)脚本。
- 在网络开发、GUI(图形用户界面)开发中使用。
- Perl的文本处理能力也被用于生成SQL查询。