perl585delta - perl v5.8.5 的新功能
本文件說明 5.8.4 版本和 5.8.5 版本之間的差異。
沒有與 5.8.4 不兼容的變更。
Perl 的正規表示式引擎現在包含支援在兩個 Unicode 字元類別的交集上進行比對。您現在也可以從其他使用者定義的字元類別內部參照使用者定義的字元類別。
Carp 改進,可以與 Safe 完美搭配。Carp 的訊息回報現在應該不會有異常 - 它將永遠列印出程式碼行號資訊。
CGI 升級到 3.05 版
charnames 現在避免覆蓋 $_
Digest 升級到 1.08 版
Encode 升級到 2.01 版
FileCache 升級到 1.04 版
libnet 升級到 1.19 版
Pod::Parser 升級到 1.28 版
Pod::Perldoc 升級到 3.13 版
Pod::LaTeX 升級到 0.57 版
Safe 現在可以與 Carp 正常運作
Scalar-List-Utils 升級到 1.14 版
Shell 的文件已重新編寫,其歷史上部分自動引用命令引數的功能現在可以停用。
Test 升級到 1.25 版
Test::Harness 升級到 2.42 版
Time::Local 升級到 1.10 版
Unicode::Collate 升級到 0.40 版
Unicode::Normalize 升級到 0.30 版
除錯器現在可以模擬向後執行,方法是重新啟動並重新執行已儲存命令記錄中最後一個命令以外的所有命令。
h2ph 現在可以理解非常有限的一組 C 內嵌函數 -- 基本上,看起來像 CPP 巨集的內嵌函數。這是為了處理 glibc 最新版本的某些標頭而引入的。標準警告仍然適用;引用 h2ph 的文件,您可能需要修改產生的檔案。
Perl 5.8.5 應該可以在 LynxOS 上從原始碼乾淨地建置。
5.8.4 中引入的原地排序最佳化有一個錯誤。例如,在以下程式碼中
@a = sort ($b, @a)
結果會省略值 $b。現在已修正此問題。
5.8.4 中引入的無用賦值最佳化可能會產生虛假警告。此問題已修正。
Perl 現在應該可以正確偵測並讀取帶有 BOM 標記和(沒有 BOM)的任何位元序的 UTF-16 腳本。
在存在弱參照時建立新執行緒有錯誤,而且經常會在直譯器毀損時造成警告。已知的錯誤現在已修正。
涉及使用 substr
處理 Unicode 字串的幾個不明顯錯誤已修正。
先前如果 Perl 的檔案萬用字元函式遇到它沒有權限開啟的目錄,它會立即回傳,導致結果清單意外地被截斷。這已修正,以符合 Unix shell 的萬用字元行為。
執行緒建立時間在相同的執行之間可能會大幅變動。這是因為執行緒複製常式中雜湊演算法不佳所造成,現在已修正。
ithreads 實作的內部程式碼沒有檢查作業系統層級的執行緒建立是否失敗。threads->create() 現在會在執行緒建立失敗時回傳 undef
,而不是讓 Perl 崩潰。
Perl -V 有多項改善
正確輸出包含嵌入式程式碼片段或其他過去會讓它混淆的字元的區域性修補程式名稱。
看起來像正規表示式的 -V 引數會提供多行輸出。
尾隨冒號會抑制換行符號和「;」終止符,允許將查詢嵌入到 shell 命令中。
前導冒號會移除回應的「name=」部分,允許對應到任何名稱。
當 Perl 找不到指定的腳本時,現在會輸出第二行,建議使用者使用 -S
旗標
$ perl5.8.5 missing.pl
Can't open perl script "missing.pl": No such file or directory.
Use -S to search $PATH for it.
常規表達式引擎所使用的 Unicode 字元類別檔案現在是在建置時從提供的 Unicode 聯合會資料檔案建置,而不是以預先建置的方式提供。這使得壓縮的 Perl 原始碼 tarball 縮小了約 200K。副作用是 lib/unicore 內的檔案配置已變更。
回歸測試 t/uni/class.t 現在執行更多測試,即使在快速的機器上執行也可能需要數分鐘。
已知此版本無法在 Windows 95 上建置。
如果您發現您認為是錯誤的問題,您可以查看最近發佈到 comp.lang.perl.misc 新聞群組的文章和 http://bugs.perl.org 上的 perl 錯誤資料庫。Perl 主頁 http://www.perl.org 上也可能有相關資訊。
如果您相信您有一個未回報的錯誤,請執行您的版本中包含的 perlbug 程式。務必將您的錯誤精簡為一個微小但足夠的測試案例。您的錯誤報告連同 perl -V
的輸出將會傳送至 perlbug@perl.org,供 Perl 移植團隊分析。您可以在 http://bugs.perl.org/ 瀏覽和搜尋 Perl 5 錯誤。
變更 檔案提供變更內容的詳細說明。
安裝 檔案提供建置 Perl 的方式。
自述 檔案提供一般資訊。
藝術 和 複製 檔案提供版權資訊。