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 的話。
使用 base
實用程式時,沒有欄位的中間類別用於弄亂基本類別中的私有欄位。此問題已修正。
Cwd 升級至版本 3.01(作為新的 PathTools 發行版的一部分)
Devel::PPPort 升級至版本 3.03
File::Spec 升級至版本 3.01(作為新的 PathTools 發行版的一部分)
Encode 升級至版本 2.08
ExtUtils::MakeMaker 仍維持在版本 6.17,因為 CPAN 上目前可用的後續穩定版本在某些核心平台上與核心模組有一些問題。
I18N::LangTags 升級至版本 0.35
Math::BigInt 升級至版本 1.73
Math::BigRat 升級至版本 0.13
MIME::Base64 升級至版本 3.05
POSIX::sigprocmask 函式現在可以在不設定的情況下擷取目前的訊號遮罩。
Time::HiRes 升級至版本 1.65
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 的方式。
自述 檔案提供一般資訊。
藝術 和 複製 檔案提供版權資訊。