perl5282delta - perl v5.28.2 的新功能
本文件說明 5.28.1 版本和 5.28.2 版本之間的差異。
如果您要從較早的版本(例如 5.28.0)升級,請先閱讀 perl5281delta,其中說明了 5.28.0 和 5.28.1 之間的差異。
Common 腳本中有好幾組數字。[0-9]
是最熟悉的。但也有 [\x{FF10}-\x{FF19}]
(全形數字零至全形數字九),以及數組可用於數學符號,例如數學雙線數字。這些組中的任何一個都應該能夠出現在例如希臘文的腳本執行緒中。但先前的設計忽略了所有字元組,除了 ASCII 數字 [0-9]
,因此設計有缺陷。這已經修復,因此既是錯誤修正,也是不相容性。
執行中所有數字仍必須來自同一組十個數字。
Module::CoreList 已從版本 5.20181129_28 升級至 5.20190419。
PerlIO::scalar 已從版本 0.29 升級至 0.30。
Storable 已從版本 3.08 升級至 3.08_01。
Windows Server 2003 SP1 平台 SDK 建置,及其早期的 x64 編譯器和工具,在 Perl 5.27.9 中意外中斷。此問題現已修正。
Perl 在 Mac OS X 上針對 -Duseshrplib
建置的建置和測試程序,現在相容於 Mac OS X 系統完整性保護 (SIP)。
SIP 會防止傳遞 DYLD_LIBRARY_PATH
環境變數給 /bin (以及其他幾個位置) 中的二進位檔。對我們而言,這會阻止將 DYLD_LIBRARY_PATH
傳遞給 shell,進而阻止將該變數傳遞給測試或建置程序,因此執行 perl
無法找到 libperl.dylib。
為了解決此問題,perl 可執行檔的初始建置預期在建置目錄中找到 libperl.dylib,然後在安裝過程中調整函式庫路徑,指向已安裝的函式庫。
如果在全域毀損期間原地編輯仍在進行中,且程序結束代碼 (儲存在 $?
中) 為零,perl 現在會將原地編輯視為成功,並用產生的任何輸出取代輸入檔案。
這允許像這樣的程式碼
perl -i -ne 'print "Foo"; last'
取代輸入檔案,但像這樣的程式碼
perl -i -ne 'print "Foo"; die'
不會。部分解決 [perl #133659]。
Perl 5.28 中的回歸導致以下程式碼失敗
close(STDIN); open(CHILD, "|wc -l")'
因為子行程的 stdin 會在執行時關閉。此問題現已修正。
pack "u", "invalid uuencoding"
現在會適當地以 NUL 終止產生的零長度 SV。
現在無法編譯格式會中止編譯。如同子剖析中的其他錯誤,這可能會讓剖析器處於奇怪的狀態,如果繼續編譯,可能會讓 Perl 崩潰。
Perl 5.28.2 自 Perl 5.28.1 以來大約經過 4 個月的開發,包含來自 13 位作者的 75 個檔案中約 2,500 行的變更。
排除自動產生的檔案、文件和發行工具,約有 1,200 行變更到 29 個 .pm、.t、.c 和 .h 檔案。
Perl 繼續蓬勃發展進入第四個十年,這要歸功於充滿活力的使用者和開發人員社群。已知以下人員貢獻了成為 Perl 5.28.2 的改進
Aaron Crane、Abigail、Andy Dougherty、David Mitchell、Karen Etheridge、Karl Williamson、Leon Timmermans、Nicolas R.、Sawyer X、Steve Hay、Tina Müller、Tony Cook、Zak B. Elep。
以上清單幾乎可以確定不完整,因為它是從版本控制歷程自動產生的。特別是,它不包含向 Perl 錯誤追蹤器回報問題的(非常感謝的)貢獻者的姓名。
此版本中包含的許多變更源自 Perl 核心包含的 CPAN 模組。我們感謝整個 CPAN 社群幫助 Perl 蓬勃發展。
如需所有 Perl 歷史貢獻者的更完整清單,請參閱 Perl 原始碼發行中的 AUTHORS 檔案。
如果您發現您認為是錯誤的問題,您可以在 https://rt.perl.org/ 檢查 perl 錯誤資料庫。Perl 首頁 http://www.perl.org/ 上也可能有資訊。
如果您相信您有一個未回報的錯誤,請執行發行版中包含的 perlbug 程式。務必將您的錯誤精簡為一個小巧但足夠的測試案例。您的錯誤回報,以及 perl -V
的輸出,將會傳送至 perlbug@perl.org,供 Perl 移植團隊分析。
如果您回報的錯誤有安全影響,不適合傳送至公開封存的郵寄清單,請參閱 perlsec 中的「安全性漏洞連絡資訊」,以取得如何回報問題的詳細資料。
如果您想感謝 Perl 5 Porters 為 Perl 5 所做的工作,您可以執行 perlthanks
程式
perlthanks
這會將一封電子郵件傳送至 Perl 5 Porters 清單,表達您的謝意。
Changes 檔案說明如何檢視已變更內容的詳細資料。
INSTALL 檔案說明如何建置 Perl。
README 檔案說明一般事項。
Artistic 和 Copying 檔案說明著作權資訊。