说说Perl和PHP的长短

原创 2005年05月16日 17:27:00

    写了几年的程序,陆陆续续用了一些语言,因为做的多是CGI程序,Perl和PHP用得最多,体会也较深一些。网上比较二者的文章也不少,这是一个仁者见仁的问题,没有人能下孰优孰劣的结论。

    根据我的一些经验,今天我也想比较一下这两种语言,也不是要说孰优孰劣,就想说说各自的长短。

1.变量名的定义
    Perl的一般变量、哈希变量和数组变量,分别用$、%和@开头,而PHP则所有变量都以$开头,这一点,似乎PHP更简洁一些。而且,PHP的哈希数组,本身已经是排过序的,Perl需要用Tie::IxHash才能得到排过序的哈希数组。个人感觉PHP变量名的定义要好于Perl。

2.函数的多寡
    Perl则基础的函数很少,而且多跟C接近。这一点,个人认为Perl要高级一些,系统一些。PHP的函数很多,远远多出Perl,PHP好像是需要什么功能就做一个函数,所以数量很多很杂,相近的甚至是重复的函数也不少,这也是一些“正统”的人不喜欢PHP的原因之一。

3.扩展模块的多寡
    Perl的扩展模块非常多,几乎涉及所有领域,所以Perl几乎无所不能,CPAN是Perl扩展模块的大本营。PHP的扩展模块集合称为Pear,也有很多模块,不过比起CPAN,还是显得少。

4.面向对象的能力
    Perl的面向对象是用模块来实现的,感觉不适真正意义上的OO,只是一般意义上的函数和变量包装。PHP4也大体如此。PHP5以后,面向对象的特性有了大幅度的改善,已经具备了几乎所有的OO特性,尽管还没有达到Java那样的面向对象,感觉也很不错了。

5.跨平台的能力
    两者都跨平台,不过Perl更倾向于Linux/Unix,在Windows上得借助于ActivePerl,且mod_perl好像只跟Apache配合(没尝试过IIS和mod_perl结合,所以能否实现不是很清楚),PHP则兼顾多种环境,Windows上面的表现跟Linux/Unix下面几乎一样,跟Apache/IIS也能随意结合,这一点,应该说PHP做得很好,可以做到随意搭配。

总结

    最直接的感觉,PHP来做服务器端的嵌入式脚本,两个字:方便,然而由于其方便,牺牲了一些原则,有时候会有一些令人恼火的“方便”,比如,Post/Get的内容自动加“/”的设定,刚开始不明白,总也想不出什么地方出了毛病,后来才知道是设置上的问题,这时候的感觉,就是PHP画蛇添足。Perl是比较传统的语言,它诞生的时候,并不是为了做动态网页的,所以用它做动态网页的时候,可能不如PHP方便,但是Perl很全面,做Batch是Perl的强项,本来很复杂的东西,用Perl做,也许可以轻松解决。

    总的说来,这两个语言大体是相通的,所以只要会了其中一种,另外一种上手很容易,几乎是“不费吹灰之力”。我是先用熟了Perl,再用PHP,所以有这样的感觉。不知道刚开始用PHP,再用Perl的人是不是也有这样的感觉。

开发者最讨厌的编程语言:Perl 名列第一,PHP、Objective-C 和 Ruby 都在其中

说好的 PHP 是世界上最好的语言的呢?

几种动态语言(Python/Perl/PHP/Java Script)的比较

Perl Python Java Script PHP 变量的语义 A variable is a name for a container that holds one or...

Perl/PHP/Python/Java/Ruby的拟人课堂讨论-比较各门编程语言的情况

!预览 ·语言的发展趋势一定是动静结合、刚柔并济 ·Perl凝练晦涩,Python优雅明晰,Ruby精巧灵动,PHP简明单纯 ·或许优雅正是来自对细节和规范的重视 ·(RoR)与Ruby结合之后,便如...

Perl、PHP、ASP、JSP技术比较

本文将对目前最常用的四种动态网页语言Perl(Practical Extraction and Report Language)、PHP(Hypertext Preprocessor)、ASP(Act...

Win7系统下如何配置Tomcat支持PHP和Perl

http://jingyan.baidu.com/article/380abd0a73aa181d90192cf8.html

开发者最讨厌的编程语言:Perl 名列第一,PHP、Objective-C 和 R

说好的 PHP 是世界上最好的语言的呢? 了解当下最流行的编程语言,那你知晓开发者中最不受欢迎的编程语言吗?是因为与时俱进的淘汰,还是“人红是非多”的不喜欢?  近日,全球著名的 IT 网...

【CentOS 7】安装及配置LAMP(CentOS+Apache +MariaDB+PHP or Perl)

配置LAMP环境 题记: 断断续续的更新哈,最近比较忙,才更新~~开始正文。 说明:有一些命令的权限要求是 root 用户,如果你不是,那么可以需要在 shell 命令之前加上 sudo ,或...
  • gscsnm
  • gscsnm
  • 2015年04月16日 16:44
  • 819

Linux系统下安装Apache2.4+Mysql5.7+PHP7+Perl(小白装lampp一)

Linux系统下安装Apache2.4+Mysql5.7+PHP7+Perl(小白装lampp一) 1. 先下载一些需要用到的软件安装包或源码(可自行到官网下载最新版),下载到home目录 apr  ...

在IIS6中配置PHP/Perl支持

转载声明:因近期可能要写一些PHP/Perl的文章,因而需要IIS下能测试的环境,商业运作我建议大家在Linux系统上做,这个系统是开源且免费的。 原始链接:http://www.blueidea....

比较Perl、PHP、Python、Java和Ruby --转自乱炖--http://levi.cg.am/?p=711

!预览 · 语言的发展趋势一定是动静结合、刚柔并济 · Perl凝练晦涩,Python优雅明晰,Ruby精巧灵动,PHP简明单纯 · 或许优雅正是来自对细节和规范的重视 · (RoR)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:说说Perl和PHP的长短
举报原因:
原因补充:

(最多只允许输入30个字)