Perl
+ -

Perl 简介

2019-09-09 18 0

Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发。

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

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

什么是 Perl?

Perl是由Larry Wall设计的,并由他不断更新和维护的编程语言。

Perl具有高级语言(如C)的强大能力和灵活性。事实上,你将看到,它的许多特性是从C语言中借用来的。

Perl与脚本语言一样,Perl不需要编译器和链接器来运行代码,你要做的只是写出程序并告诉Perl来运行而已。这意味着Perl对于小的编程问题的快速解决方案和为大型事件创建原型来测试潜在的解决方案是十分理想的。

Perl提供脚本语言(如sed和awk)的所有功能,还具有它们所不具备的很多功能。Perl还支持sed到Perl及awk到Perl的翻译器。

简而言之,Perl像C一样强大,像awk、sed等脚本描述语言一样方便。


Perl 优点

  • 相比C、Pascal这样的”高级”语言而言,Perl语言直接提供泛型变量、动态数组、Hash表等更加便捷的编程元素。
  • Perl具有动态语言的强大灵活的特性,并且还从C/C++、Basic、Pascal等语言中分别借鉴了语法规则,从而提供了许多冗余语法。
  • 在统一变量类型和掩盖运算细节方面,Perl做得比其他高级语言(如:Python)更为出色。
  • 由于从其他语言大量借鉴了语法,使得从其他编程语言转到Perl语言的程序员可以迅速上手写程序并完成任务,这使得Perl语言是一门容易用的语言。
  • Perl 是可扩展的,我们可以通过CPAN(”the Comprehensive Perl Archive Network”全面的 Perl 存档网络)中心仓库找到很多我们需要的模块。
  • Perl 的 mod_perl 的模块允许 Apache web 服务器使用 Perl 解释器。

Perl 缺点

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

同样的,因为Perl这样随意的特点,可能会导致一些Perl程序员遗忘语法,以至于不得不经常查看Perl手册。

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

很多时候,perl.exe进程会占用很多的内存空间,虽然只是一时,但是感觉不好。

第一个 Perl 程序

对于大多数程序语言,第一个入门编程代码便是”Hello World!”,以下代码为使用 Perl 输出”Hello World!”:

#!/usr/bin/perl 
print "Hello, World!\n";

0 篇笔记 写笔记

Perl foreach 循环
Perl foreach 循环用于迭代一个列表或集合变量的值。语法语法格式如下所示:foreach var (list) {...}流程图实例#!/usr/bin/perl@list = (2, 12, 36, 42, 51);# 执行foreach 循环foreach $a (@list){ ......
ObjectiveC 简介
Objective-C,Objective C入门,Objective C教程,ObjectiveObjective-C是一种通用的,面向对象的编程语言,它将Smalltalk样式的消息传递添加到C编程语言中。它是苹果公司用于OSX和iOS操作系统及其API(Cocoa和Cocoa Touch)的主......
批处理语法
批处理语法,bat语法批处理就是把一批或者说是一条条命令放在一个文本里,然后批量执行!执行这一批命令的文件的扩展名是BAT文件或者CMD,把任何一批命令放入在有这样扩展名的文件里,执行时里面的命令就会一条条的执行完,当然我们还可以在其中加入一些逻辑判断的语句,让里面的命令在满足一定条件时执行指定的命......
Perl if...elsif...else 语句
一个 if 语句后可跟一个可选的 elsif 语句,然后再跟另一个 else 语句。这种条件判断语句在多个条件的情况下非常有用。在使用 if , elsif , else 语句时你需要注意以下几点。if 语句后可以跟上 0 个 或 1 个 else 语句,但是 elsif 后面必须有 else 语句......
Java 多线程编程
Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。这里定义和线程相关的另一个术语 -进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。......
Perl 简介
Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发。Perl语言的应用范围很广,除CGI以外,Perl被用于图形编程、系统管理、网络编程、金融、生物以及其他领域。由于其灵活性,Perl被称为脚本语言中的瑞士军刀。Pe......
C语言 函数
函数是一起执行任务的一组语句,每个C程序都有至少一个函数,即 main(),所有最简单的程序都可以定义其他函数。函数 declaration 告诉编译器函数的名称,返回类型和参数,函数定义提供函数的实际主体。C标准库提供了程序可以调用的许多内置函数。如, strcat()可以连接两个字符串, mem......
Python3 CGI编程
什么是CGICGI 目前由NCSA维护,NCSA定义CGI如下:CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。网页浏览为了更好的了解CGI是如何工作的,我们可以从在网页上点击一个链接或URL的......
MySQL PHP语法
MySQL 可应用于多种语言,包括 PERL, C, C++, JAVA 和 PHP。 在这些语言中,Mysql在PHP的web开发中是应用最广泛。在本教程中我们大部分实例都采用了 PHP 语言。如果你想了解 Mysql 在 PHP 中的应用,可以访问我们的 PHP教程。PHP提供了多种方式来访问和......
Memcached stats sizes 命令
Memcached stats sizes 命令用于显示所有item的大小和个数。该信息返回两列,第一列是 item 的大小,第二列是 item 的个数。语法:stats sizes 命令的基本语法格式如下:stats sizes实例stats sizesSTAT 96 1END......
Java 条件语句
if 语句的用语法如下:if(布尔表达式){ //如果布尔表达式为true将执行的语句}如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码。Test.java 文件代码:public class Test { public static void ......
GO语言 循环语句
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。以下为大多编程语言循环程序的流程图:Go 语言提供了以下几种类型循环处理语句:循环类型描述 for 循环重复执行语句块 循环嵌套在 for 循环中嵌套一个或多个 for 循环 循环控制语句循环控制语句可以控制循环体......
JSON语法
JSON 语法是 JavaScript 对象表示语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组JSON 名称/值对JSON 数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:"name" : "字节流......
Java intern() 方法
intern() 方法返回字符串对象的规范化表示形式。它遵循以下规则:对于任意两个字符串 s 和 t,当且仅当 s.equals(t) 为 true 时,s.intern() == t.intern() 才为 true。语法public String intern()参数无返回值一个字符串,内容与此......
C语言 环境设置
在UNIX/Linux上安装如果您使用的是 Linux或UNIX ,请通过从命令行输入以下命令来检查系统上是否安装了GCC: $gcc -v如果您的计算机上安装了GNU编译器,则它应显示如下消息:Using built-in specs.Target: i386-redhat-linuxConfig......
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!