Perl 简介

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

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

什么是 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同样可以将代码书写得像Python或Ruby等语言一样优雅。

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

Perl教程-1.Perl简介相关推荐

  1. Perl教程_编程入门自学教程_菜鸟教程-免费教程分享

    教程简介 Perl入门教程 - 从基本到高级概念的简单简单步骤了解Perl,包括简介,环境,语法,数据类型,变量,标量,数组,哈希,IF ... ELSE,循环,运算符,日期和时间,子程序,引用,格式 ...

  2. BeginnersBook Perl 教程

    来源:ApacheCN BeginnersBook 翻译项目 译者:飞龙 协议:CC BY-NC-SA 4.0 贡献指南 本项目需要校对,欢迎大家提交 Pull Request. 请您勇敢地去翻译和改 ...

  3. [Perl系列—] 2. Perl 中的引用用法

    Perl 中的引用,为什么要使用引用? 对于熟悉C语言的开发者来说, 指针这个概念一定不陌生. Perl 的引用就是指针,可以指向变量.数组.哈希表甚至子程序. Perl5中的两种Perl引用类型为硬 ...

  4. [Perl系列—] 2. Perl 中的引用使用方法

    Perl 中的引用,为什么要使用引用? 对于熟悉C语言的开发人员来说, 指针这个概念一定不陌生. Perl 的引用就是指针,能够指向变量.数组.哈希表甚至子程序. Perl5中的两种Perl引用类型为 ...

  5. perl/tk_在Perl / Tk中使用高级小部件

    perl/tk 与Perl语言的广泛使用相比,Perl的GUI工具集Perl / Tk不太受欢迎. 这很奇怪,因为它可以说是最容易编程的GUI工具包之一(至少对于UNIX平台而言),因此建议将其自身用 ...

  6. cutelyst教程_01 _简介

    Tutorial_01_Intro 教程_01 _简介 Daniel Nicoletti edited this page on Feb 20, 2019 · 9 revisions Daniel N ...

  7. [医疗信息化][DICOM教程]DICOM标准简介

    [医疗信息化][DICOM教程]DICOM标准简介 使用OsiriX的DICOM标准简介 内容 介绍 什么是DICOM 医院系统内的图像传输 了解DICOM服务 OsiriX提供的DICOM服务 其他 ...

  8. Android精通教程-Android入门简介

    前言 大家好,我是 Vic,今天给大家带来Android精通教程-Android入门简介的概述,希望你们喜欢 每日一句 If life were predictable it would cease ...

  9. 手把手的K-means聚类算法教程(含简介及教育数据应用实例 Python实现)

    手把手的K-means聚类算法教程(含简介及教育数据应用实例 Python实现) 1. K-MEANS的基本原理 2. 数据预处理 2.1 数据读取:from Excel 2.2 数据预处理:标准化Z ...

  10. 【乐绘派】Audition专业音频后期制作教程 | 1-软件简介

    Audition专业音频后期制作教程 | 1-软件简介

最新文章

  1. 用python画时序图源代码_使用python实现画AR模型时序图
  2. Silverlight实用窍门系列:61.Silverlight中的Trigger触发器,自定义翻页触发器
  3. Wallace树专题研究
  4. git 添加外部项目地址
  5. 三十四、多线程真的比单线程快?
  6. onenote复制出来是图片_你真的了解 OneNote 吗?
  7. 关于swiper的tab(选项卡)中设置了autoHeight没有效果解决
  8. 国家开放大学2021春1087数学分析专题研究题目
  9. c语言宏定义比较三个数大小,C语言中两个宏进行大小对比,其中一个没有定义,这种行为如何定义。...
  10. 使用hover后隐藏的图片不显示_持续分享CSS使用小技巧
  11. java的环境变量设置_Java开发环境不再需要配置classpath
  12. IO多路复用及select poll epoll讲解
  13. 搭建Android开发环境
  14. 分享一个selenium jar包 的下载地址,各版本都有,包括selenium-server-standalone.jar、selenium、selenium-server
  15. 如何csdn复制他人博客文章到自己博客下?
  16. 【乌拉喵.教程】PCtoLCD2002作为LCD5110字模提取软件的使用方法
  17. mysql strict_MySQL模式 Strict Mode知识点详解
  18. windows虚拟机dhcp服务器,无法访问虚拟机中的DHCP服务器
  19. YOLO v2 学习与研究
  20. 中西方对时间的差异_浅析中西方时间观念差异及其对跨文化交际的启示

热门文章

  1. MySQL集群---①浅谈MySQL集群原理
  2. Centos6.4升级glibc_2.14
  3. html星星连线特效代码,js实现飞入星星特效代码
  4. JS校验身份证号码格式
  5. 静态VLAN及配置实例详解
  6. 支付宝APP支付 错误代码 insufficient-isv-permissions 错误原因: ISV权限不足
  7. 离散数学及其应用第八版纠正(p29):关于n皇后问题的SAT表示
  8. 信息论与编码之信源编码详解
  9. python如何获取鼠标位置_python实时得到鼠标的位置
  10. Ubuntu破解密码