目錄

名稱

perl586delta - perl v5.8.6 的新功能

描述

本文件說明 5.8.5 發行版和 5.8.6 發行版的差異。

不相容變更

沒有與 5.8.5 不相容的變更。

核心強化

perl 詮釋器現在能更容忍 UTF-16 編碼的腳本。

在 Win32 上,Perl 現在可以使用非 IFS 相容的 LSP,這讓 Perl 能夠與防護牆(例如 McAfee Guardian)一起運作。有關完整詳細資訊,請參閱檔案 README.win32,特別是如果你正在執行 Win95 的話。

模組和實用程式

實用程式變更

Perl 有新的 -dt 命令列旗標,它可以在偵錯器中啟用執行緒支援。

效能提升

reverse sort ... 現在最佳化為反向排序,避免產生暫時的中間清單。

for (reverse @foo) 現在反向迭代,避免產生暫時的反向清單。

已選錯誤修正

當給予無效的 utf8 輸入(有時是由有問題的 XS 模組產生)時,正規表示式引擎現在更強健。

threads::shared 陣列上的 foreach 過去會導致 Perl 崩潰。此錯誤現在已修正。

STDOUT 解構函式中的正規表示式過去會導致核心傾印,因為正規表示式暫存區已釋放。此問題已修正。

goto & 現在更強健 - 深層遞迴和鏈接 goto & 中的錯誤已修正。

在陣列上使用 delete 不再會造成記憶體外洩。從共用陣列參考中 pop 一個項目不再會造成外洩。

eval_sv() 未通過污點測試可能會損毀堆疊 - 此問題已修正。

在指標為 64 位元的平台上,數值比較運算子過去會錯誤地比較重載參考的位址,而不是使用重載值。此問題已修正。

read 到 UTF8 編碼的緩衝區,且偏移量超出緩衝區結尾,不再會錯誤計算緩衝區長度。

儘管 Perl 從 5.8 版起就承諾 sort() 會是穩定的,但 sort {$b cmp $a}sort {$b <=> $a} 這兩個案例可能會產生不穩定的排序。此問題已在 perl5.8.6 中修正。

區域化 $^D 不再會針對有效的 -D 旗標產生診斷訊息。

新增或變更的診斷

對於 -t 和 -T,選項「-T」太遲了已變更為更具資訊性的「-T」在 #! 行上,它也必須在命令列上使用

已變更的內部元件

從現在起,所有嵌入 Perl 的應用程式都將表現得好像 Perl 是使用 -DPERL_USE_SAFE_PUTENV 編譯的。請參閱 INSTALL 檔案中的「環境存取」以取得詳細資料。

大多數 C 原始碼檔案現在在頂端都有說明其目的的註解,這應有助於任何想要概覽實作的人員。

新增的測試

B 模組套件有更多測試。

回報錯誤

如果您發現您認為是錯誤的問題,您可能會檢查最近張貼到 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 的方式。

自述 檔案提供一般資訊。

藝術複製 檔案提供版權資訊。