什么是perl?
Perl是一种动态的,高级的,通用的编程语言。它没有任何的官方缩写。它是纯粹使用C语言开发和实现的;它支持跨平台操作系统;它是柑橘GNU通用公共许可证授权的。它具有不同的文件扩展名,如.pm,.pl,.pod,.t等。它具有灵活性和强大的功能,可用于许多应用程序。
什么是PHP?
PHP被称为超文本预处理器,是一种服务器端脚本语言;它是为Web开发目的而开发和设计的。
PHP受到不同编程语言的影响,如Perl, C++, C, Tcl和Java;它主要是使用C编程语言和C++编程语言的一些特性开发和实现的。PHP支持不同的跨平台操作系统,如Windows和Unix类系统。
PHP和Perl的主要区别:
1. 用途
Perl是一种通用编程语言,用于执行的数据操作和许多通用应用程序的开发;而PHP则用于开发用作服务器端脚本语言的Web应用程序。
2. 相同之处
(1). 都是脚本语言:Perl和PHP二者都是脚本语言。这意味着他们不用提前独立执行生产原生可执行文件。
(2). 语法:PHP的基本语法非常接近Perl,并且二者都与C代码分享很多语法特性。像空格,语句由分号终止,花括号将多条语句组织成代码块。函数调用开始于函数名,紧随其后的是包围在圆括号中并由逗号分隔的实际参数。
(3). 符号变量:所有变量在PHP中看起来像Perl中的标量:$name
(4). 没有声明变量:和Perl语言一样,PHP变量在使用前也不需要声明它的类型。
(5). 弱类型:和Perl语言一样,PHP变量没有内在类型。你可以将数字或字符串存储在相同类型的变量里。
(6). 字符串和变量插值法:PHP和Perl使用双引号字符串的次数比使用单引号的字符串的次数要多很多。
3. 不同之处
(1). 变量名的定义:perl的变量一般是标量,哈希,数组,分别用$, %和@开头,而PHP则所有变量都以$开头,这一点,似乎PHP更简洁一些。而且,PHP的哈希数组,本身已经是排过序的,Perl需要用Tie::IxHash才能得到排过序的哈希数组。
(2). 函数的多寡:Perl则基础的函数很少,而且多跟C接近。这一点,个人认为Perl要高级一些,系统一些。PHP的函数很多,远远多出Perl,PHP好像是需要什么功能就做一个函数,所以数量很多很杂,相近的甚至是重复的函数也不少,这也是一些“正统”的人不喜欢PHP的原因之一。
(3). 扩展模块的多寡:Perl的扩展模块非常多,几乎涉及所有领域,所以Perl几乎无所不能,CPAN是Perl模块的大本营。PHP的扩展模块集合成为Pear,也有很多模块,不过比起CPAN,还是显得少。
(4). 面向对象的能力:Perl的面向对象是用模块来实现的,感觉不是真正意义上的OO, 只是一般意义上的函数和变量包装。PHP尽管还没有达到Java那样的面向对象,但已经不错了。
(5). 跨平台的能力:两者都跨平台,不过perl更倾向于Linux/Unix,在Window上得借助ActivePerl。PHP则兼顾多种环境,Windows上面的表现跟Linux/Unix下面几乎一样,跟Apache/IIS也能随意结合,这一点,应该说PHP做得很好,可以做到随意搭配。
(6). 指定的函数参数:PHP中的函数调用看起来很像perl子程序。在PHP的函数定义中,通常需要某种正式的参数列表,如C或Java,在perl中并非如此。
总结
最直接的感觉,PHP来做服务器端的嵌入式脚本,两个字:方便,然而由于其方便,牺牲了一些原则,有时候会有一些令人恼火的“方便”。Perl是比较传统的语言,它诞生的时候,并不是为了做动态网页的,所以用它做动态网页的时候,可能不如PHP方便,但是Perl很全面,做Batch是Perl的强项,本来很复杂的东西,用Perl做,也许可以轻松解决。
网友评论