Perl 5.10.0

上一堆 ports maintainer 要傷腦筋處理 5.8 與 Perl 5.10 之間的相容性問題了...

Perl 5.10.0 除了修正 bug 外,在效率上也做了許多改進,在 可以查到完整的內容,幾個我比較有興趣的:

  • 引入 // 運算子。以前寫 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 內建的 資料庫更新到 5.0.0。
  • 新增了一堆 module...
  • 一堆效能的改善...

反正用就是了 XD

對了,大力推薦 ,試圖在 Win32 平台上建立一個簡單而且強大的 Perl 環境,目前還是 Perl 5.8.8,等他正式推出 Perl 5.10.0 的版本...

如果要測試的人可以參考 這篇抓 Beta 2 版測試。

Update:除了上面所說的,另外還有 提到的 say (與 print + \n) 以及 ~~ (與 grep + eq) 的效能比較。

Update 5.10.0 正式出版了!

3 thoughts on “Perl 5.10.0”

  1. // operator 應該是定義成

    $a // $b === defined($a) ? $a : $b

    吧? 如果 $a = 0, $b = 1 那麼

    $a || $b === 1
    $a // $b === 0

  2. 看到Strawberry Perl覺得有點驚訝...終於有人做這種專案了
    想當年我自己玩CGI/Perl的時候都是用ActivePerl = =

Leave a Reply

Your email address will not be published. Required fields are marked *