同樣是開源的 Perl 及 PHP 很多時會給人們作比較,而實際上它們各自有自己的優勢及存在價值。Perl 在系統管理及字串處理上較有優勢,而且有十分豐富的函式庫 -- CPAN,很多複雜的功能也可以簡單地完成。

而 PHP 的優勢就是在動態網頁及連接資料庫上面,資料庫的支援上,市面上大部份流行的付費及開源資料庫也支援,這也是近年在網路上 PHP 越來越流行的原因。

如果可以在一個專案上用上兩種語言的長處就很方便。在 PHP 程式內可以透過 PHP::Interpreter 呼叫 CPAN 模組以擴展 PHP 應用,例如 IO ports 操作這類工作也可以在 PHP 內完成。現在需要先安裝 PHP::Interpreter:

1. 前往 search.cpan.org/dist/PHP-Interpreter 下載 PHP::Interpreter。

2. 執行以下指令安裝:

make
make install

這樣就完成 PHP::Interpreter 的安裝,以下舉出兩個在 PHP 程式內使用 Perl 的簡單例子:

PHP:
  1. <?php
  2. $perl = Perl::getInstance();
  3. $perl->eval(q^
  4. print "Executing Perl code in PHP\n";
  5. ^);
  6. ?>

以上會的第二行會建立 $perl 物件,而第二行會透過 $perl 物件執行 Perl。而以下的 $perl->call() 方法就可以傳入及回傳變數:

PHP:
  1. <?php
  2. $perl = Perl::getInstance();
  3. $upper = $perl->call('ucfirst', 'hello');
  4. ?>

上面的第三行是執行 perl 的 ucfirst 函式,並傳入參 "hello"。而 PHP::Interpreter 也可以讓 Perl 執行 PHP 的能力,詳細可以參閱 PHP::Interpreter 使用手冊