PHP 與 Perl 語言對比
編譯腳本語言:Perl 和 PHP 二者都是腳本語言。這意味著他們不用提前獨立執行生產原生可執行文件。
語法:PHP 的基本語法非常接近 Perl 的,并且二者都與 C 代碼分享很多語法特性像空格、語句由分號終止和花括號將多條語句組織成代碼塊。函數調用開始于函數名,緊隨后面的是包圍在圓括號中并由逗號分隔的實際參數。
$符號變量:所有變量在 PHP 中看起來像 Perl 標量變量:一個名稱在一個 $ 符號 ($) 的前面。
沒有聲明變量:和 Perl 語言一樣,PHP 變量在使用前你也不需要聲明它的類型。
松散類型的變量:和 Perl 語言一樣,PHP 變量沒有內在類型除了他們目前的值的類型之外。你可以將數字或字符串存儲在相同類型的變量里。
字符串和變量插值法:PHP 和 Perl 使用雙引號字符串的次數比使用單引號的字符串的次數要多很多。不同之處PHP 是 HTML 嵌入式語言:雖然可以使用 PHP 把任意任務從命令行運行,它通常需要連接到一個 Web 服務器并且用于產生 Web 頁面。如果你習慣于用 Perl 編寫 CGI 腳本,它和 PHP 的主要區別是,不再需要明確地打印大量的靜態 HTML 或 heredoc 語句,而是可以簡單地編寫 HTML 本身之外的 PHP 代碼塊。
沒有 @ 或者 % 變量:PHP 只有一個類型的變量,它始于一個美元符號($)。無論是標量類型或復合類型,任何數據類型的語言可以存儲在這些變量中。
數組和散列:有一個叫做數組的數據類型,像散列和數組扮演的角色在 Perl 語言中。
指定的函數參數:函數調用在 PHP 看起來很像在 Perl 子程序里調用。在 PHP 的函數定義中,而另一方面講,通常需要某種正式的參數列表如 C 或 Java 在 PERL 中并非如此。
在 Perl 函數中變量作用域:變量的默認范圍是全局性的。這意味著頂級變量在子程序是可見的。通常,這導致全局函數的混雜使用。在 PHP 中,變量在函數定義的范圍中默認是局部的。
沒有像這樣的模塊系統:在 PHP 中在正常代碼文件和代碼文件之間用作導入庫沒有真正區別。
使用關鍵字 Break 和 continue 不使用關鍵字 next 和 last:PHP 更像 C 語言,使用關鍵字 Break 和 continue 取代關鍵字 next 和 last。
沒有 elsif:一個小的拼寫的區別:Perl 的 elsif 就是 PHP 中的 elseif。
更多種類的注釋:除了 Perl-style(#) 單行注釋,PHP 提供 C 風格的多行注釋(/*注釋*/)和 Java 風格的單行注釋(/ /注釋)。
正則表達式:PHP 沒有內置的特定于正則表達式的語法,但大部分相同的功能在其 'Perl-compatible' 的正則表達式中。相關文章:
