PHP 与 Perl 语言对比

php的历史:http://php.net/manual/zh/history.php.php
印象中php就是从perl发展来的
PHP 继承自一个老的工程,名叫 PHP/FI。PHP/FI 在 1995 年由 Rasmus Lerdorf 创建,最初只是一套简单的 Perl 脚本。
在这里插入图片描述
作为最受欢迎的服务器端语言,PHP 各版本已经被全球近8成的网站采用。而根据PHP 给出的各版本的生命周期,2019年1月1日开始,PHP 5 最后一个版本 5.6 将不再受支持,与此同时,PHP 7 第一个版本 PHP 7.0 也将在2018年 12月 3 日不再更新。而全球仍然有超过六成的网站采用这个两个版本,如不及时升级,将面临不可估量的安全风险。
https://cloud.tencent.com/developer/article/1360785
根据 W3Techs 最新的统计数据,在已知的语言中,有78.9%的网站采用了 PHP,全球所有的网站中使用 PHP 5 版本的网站占比高达 61.8%。再细分下来,使用PHP 5的网站中有 41.5% 采用的是 PHP 5.6,也就是说依然有很多网站仍然采用不再受支持的 PHP 版本。

偏题了。
php和perl的相同之处
脚本语言:Perl 和 PHP 二者都是脚本语言。这意味着他们不用提前独立执行生产原生可执行文件。
语法:PHP 的基本语法非常接近 Perl 的,并且二者都与 C 代码分享很多语法特性。像空格、语句由分号终止和花括号将多条语句组织成代码块。函数调用开始于函数名,紧随后面的是包围在圆括号中并由逗号分隔的实际参数。
符号变量:所有变量在PHP中看起来像Perl标量变量:一个名称在一个 符号 ($) 的前面。
没有声明变量:和 Perl 语言一样,PHP 变量在使用前你也不需要声明它的类型。
弱类型:和 Perl 语言一样,PHP 变量没有内在类型。你可以将数字或字符串存储在相同类型的变量里。
字符串和变量插值法:PHP 和 Perl 使用双引号字符串的次数比使用单引号的字符串的次数要多很多。

不同之处:
1.PHP 是 HTML 嵌入式语言:虽然可以使用 PHP 把任意任务从命令行运行,它通常需要连接到一个 Web 服务器并且用于产生 Web 页面。如果你习惯于用 Perl 编写 CGI 脚本,它和 PHP 的主要区别是,不再需要明确地打印大量的静态 HTML 或 heredoc 语句,而是可以简单地编写 HTML 本身之外的 PHP 代码块。
2.没有 @ 或者 % 变量:PHP 所有的变量始于一个美元符号($)。无论是标量类型或复合类型,任何数据类型的语言可以存储在这些变量中。
3.数组和散列:php有一个叫做数组的数据类型,像perl中的列表,包括数组和散列。
4.指定的函数参数:函数调用在 PHP 看起来很像在Perl 子程序。在 PHP 的函数定义中,而另一方面讲,通常需要某种正式的参数列表如 C 或 Java, 在 PERL 中并非如此。
5.在 Perl 函数中变量作用域:变量的默认范围是全局性的。这意味着顶级变量在子程序是可见的。通常,这导致全局函数的混杂使用。在 PHP 中,变量在函数定义的范围中默认是局部的。
6.php没有模块系统:在 PHP 中在正常代码文件和代码文件之间用作导入库没有真正区别。
7.php使用关键字 break 和 continue ,perl使用关键字 last 和 next
8.php使用elseif,perl使用elsif
9.更多种类的注释:除了 Perl-style(#) 单行注释,PHP 提供 C 风格的多行注释(/注释/)和 Java 风格的单行注释(/ /注释)。
10.正则表达式:PHP 没有内置的特定于正则表达式的语法,但大部分相同的功能在其 “Perl-compatible” 的正则表达式中。

我觉得第二条最关键,php中的@用于抑制错误。
其实perl use strict的话和上面还是有些不一样的。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值