在 FreeBSD 上一堆 ports maintainer 要傷腦筋處理 Perl 5.8 與 Perl 5.10 之間的相容性問題了…
Perl 5.10.0 除了修正 bug 外,在效率上也做了許多改進,在 perl5100delta 可以查到完整的內容,幾個我比較有興趣的:
- 引入
//運算子。以前寫defined $a ? $a : $b,現在可以寫$a // $b。同理,$a //= $b等價於$a = (defined $a ? $a : $b),表示 $a 沒有被定義時塞入 $b。另外,//與||有相同的優先權。 - 有了 switch-case-default 的架構,不過在 Perl 裡叫
given-when-default。 - 更快的 Regular Expression Engine,以及一些變動。
- Perl 內建的 Unicode 資料庫更新到 5.0.0。
- 新增了一堆 module…
- 一堆效能的改善…
反正用就是了 XD
對了,大力推薦 Strawberry Perl,試圖在 Win32 平台上建立一個簡單而且強大的 Perl 環境,目前還是 Perl 5.8.8,等他正式推出 Perl 5.10.0 的版本…
如果要測試的人可以參考 Strawberry Perl Beta 2 Release 這篇抓 Beta 2 版測試。
Update:除了上面所說的,另外還有 Some perl 5.10 comparisons 提到的 say (與 print + \n) 以及 ~~ (與 grep + eq) 的效能比較。
Update:Strawberry Perl 5.10.0 正式出版了!
