说说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,Python,Ruby概要及各自特点

http://run-wang.iteye.com/blog/1290061 互联网技术日新月异,编程的语言层出不穷,原本稍微平静了几年的网络编程技术又不断出现新的东西,涤荡着整个网络世界,ruby,...
  • weiyastory
  • weiyastory
  • 2016年10月17日 09:40
  • 851

php和perl的区别

1.变量名的定义    Perl的一般变量、哈希变量和数组变量,分别用$、%和@开头,而PHP的所有变量都以$开头,这一点,似乎PHP更简洁一些。而且,PHP的哈希数组,本身已经是排过序的,Perl需...
  • tangxiangpi
  • tangxiangpi
  • 2008年12月22日 18:03
  • 2239

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

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

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

说好的 PHP 是世界上最好的语言的呢?
  • csdnnews
  • csdnnews
  • 2017年11月03日 10:28
  • 4496

说说&和&&的区别?

http://zhidao.baidu.com/link?url=PRB4Cnj6QcqgqEC8JV6T91G5rfT_jh-4Rtvj8I1ZTXgD3bdLKDbmMTg3hmQ2rWZJiCI...
  • zangchaodotcnatgmail
  • zangchaodotcnatgmail
  • 2015年12月03日 16:36
  • 1268

XAMPP安装(Apache+MySQL+PHP+PERL)

一直想学PHP, 但每次都因为其复杂的环境搭建望而止步, 最近在两位大神的帮助下终于搞定了, 分享安装过程及踩到的各种坑下载安装XAMPP官网: http://sourceforge.net/proj...
  • zhz459880251
  • zhz459880251
  • 2015年12月03日 00:20
  • 910

java笔试题(引自传智播客)-其他

5. html&JavaScript&ajax部分 1. 判断第二个日期比第一个日期大        如何用脚本判断用户输入的的字符串是下面的时间格式2004-11-21 必须要保证用户的输入是此...
  • sjz64472418
  • sjz64472418
  • 2011年11月22日 21:16
  • 5064

如何快速的搭建Apache+MySQL+PHP+PERL的环境

只需下载XAMPP即可,点击打开链接,选择相对应的版本下载即可。 XAMPP:XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包。这个软件包原来的名字是 LAMP...
  • Mind_programmonkey
  • Mind_programmonkey
  • 2017年08月07日 20:00
  • 600

php中传值与传引用的区别?

传值:函数内对传送变量修改不影响被传变量的值(用传送值对函数的内的变量重新赋值) 引用:传送变量的引用,函数内的任何操作等同于对传送变量的操作,传送大型变量时效率高!...
  • pingjunzhi
  • pingjunzhi
  • 2017年02月10日 22:59
  • 494

计算php代码执行时间长短的类

/**  * PHP脚本执行时间计算  */ class runtime {     var $StartTime = 0;     var $StopTime = 0;    ...
  • gb4215287
  • gb4215287
  • 2018年01月08日 11:19
  • 37
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:说说Perl和PHP的长短
举报原因:
原因补充:

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