zoukankan      html  css  js  c++  java
  • 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的前身是Unix系统管理的一个工具,被用在无数的小任务里。
    后逐渐发展成为一种功能强大的程序设计语言,用作Web编程、数据库处理、XML处理以及系统管理;
    在完成这些工作时,同时仍能处理日常细小工作,这是它的设计初衷。
    Perl特别适合系统管理和Web编程。
    实际上已经被用在所有Unix(包括Linux)捆绑在一起作为标准部件发布,同时也用于Microsoft Windows和几乎所有操作系统。

    Perl是由Larry Wall设计的,并由他不断更新和维护的编程语言。
    Perl具有高级语言(如C)的强大能力和灵活性。事实上,你将看到,它的许多特性是从C语言中借用来的。
    Perl与脚本语言一样,Perl不需要编译器和链接器来运行代码,你要做的只是写出程序并告诉Perl来运行而已。
    这意味着Perl对于小的编程问题的快速解决方案和为大型事件创建原型来测试潜在的解决方案是十分理想的。
    Perl提供脚本语言(如sed和awk)的所有功能,还具有它们所不具备的很多功能。
    Perl还支持sed到Perl及awk到Perl的翻译器。简而言之,Perl像C一样强大,像awk、sed等脚本描述语言一样方便。

    特点
    Perl的解释程序是开放源码的免费软件,使用Perl不必担心费用。Perl能在绝大多数操作系统运行,可以方便地向不同操作系统迁移。
    Perl 是一种能完成任务的语言。
    从一开始,Perl 就设计成可以把简单工作简单化,同时又不失去处理困难问题能力的语言。
    它可以很容易操作数字,文本,文件和目录,计算机和网络,特别是程序的语言。
    这种语言应该很容易运行外部的程序并且扫描这些程序的输出获取感兴趣的东西。
    而且它还应该很容易能把这些你感兴趣的东西交给其它程序做特殊的处理。
    当然,这种语言还应该很容易在任何现代的操作系统上可以移植地编译和运行。

    基本语法
    变量定义,以$号开头,如:$num =1;
    数组定义,以@开头,如:@array = (1,2,3);
    数组元素调用 $array[index],其中index表示数组下标,如上例,$array[0]的值是1
    散列定义,以%开头,如:%hash=("a",1,"b",2);
    散列调用 %hash,其中keys表示键值,多用字符串表示,注意hash的key必须具有唯一性,但value可以不唯一,
    为此hash的key经常被用来做唯一化处理,如上例中的"a", "b", values是keys对应的值,如1,2。$hash{"b"}的值是2。

    优点
    Perl追求的是简单, 解决一个一般的问题用它几行代码就完成了. 一个稍复杂一点的问题代码也不会超过一屏! 在软件测试中,Perl通常是非常重要的角色。
    一般一个测试通用函数库就要分十几个文件,甚至更多,包含多达上千个定制功能。
    而这些函数将在主函数运行时,不定数量的被调用。
    几乎可以说,一切自动过程都是由Perl自己完成的,可见其功能的强大和在当今计算机技术高速发展的时期仍然发挥着重要的作用。

    Perl 最初是当做一种 Unix 的脚本语言设计的,但是它早就移植到大多数其它操作系统里了。
    因为 Perl 几乎可以在任何地方运行,所以 Perl 可以说是当今最具有移植性的编程环境;
    要想写可移植的 C/C++ 程序,你得在程序里加上一大堆 #ifdef 标签来区分不同的系统;
    要想写可移植的 Java 程序,你必须理解每种新的 Java 实现的特质;要想写可移植的shell,你可能要记住每条命令在每种操作系统上的语法,走运的时候你可能可以找到一些公共的东西;
    要想写可移植的 Visual Basic 程序,需要对“移植”有个更灵活的定义。
    让我们很高兴的是 Perl 避免了所有这些问题,同时还保留了这些语言中的许多优点,同时还有一些自己的特色。
    Perl 的特色来自许多方面:它的特性集的工具,Perl 社区的创造性,以及开源运动的大环境。
    不过,许多这些特性都是混合的东西;Perl 的身世复杂,它总是把事物看成是优点的不同方面,而不是弱点。
    Perl 是“背黑锅我来”的语言。如果你觉得自己陷入一团乱麻之中,非常渴望自由,那么请使用 Perl。

    下载安装
    在Linux 系统下、大部分类UNIX 系统(包括Mac OS X),perl是随系统安装的,
    可在命令行终端输入命令perl -v,查看版本,
    对于Windows有两种版本可用:Strawberry Perl 与 ActivePerl。

    备注:随笔中内容来源于网上资料整理,仅供参考。

  • 相关阅读:
    数据的艺术
    第十七篇 make的路径搜索综合实践
    第十六篇 make中的路径搜索
    第十五篇 make中的隐式规则概述
    第十四篇 自动生成依赖关系(终结)
    [SDOI2009]HH的项链解题报告
    欧几里德与扩展欧几里德算法的理解、实现与应用
    浅析强连通分量(Tarjan和kosaraju)
    deque-at
    plt.imshow()
  • 原文地址:https://www.cnblogs.com/Alanf/p/7731480.html
Copyright © 2011-2022 走看看