perl5281delta - perl v5.28.1 的新功能
此文件描述 5.28.0 版本和 5.28.1 版本之間的差異。
如果您要從較早的版本(例如 5.26.0)升級,請先閱讀 perl5280delta,其中描述了 5.26.0 和 5.28.0 之間的差異。
當環境變數名稱和值的長度總和超過約 0x7fffffff 時,Perl_my_setenv()
中的整數運算可能會換行。這可能會導致使用攻擊者提供的資料寫入已分配緩衝區的結尾之外。
精心製作的正規表示式可能會在編譯期間導致堆緩衝區溢位寫入,可能允許執行任意程式碼。
沒有任何變更故意與 5.28.0 不相容。如果存在任何變更,它們是錯誤,我們要求您提交報告。請參閱下面的 「報告錯誤」。
Module::CoreList 已從版本 5.20180622 升級到 5.20181129_28。
Perl 5.28 在與 -1 比較時(或間接比較,例如 >= 0)引入了 index()
最佳化。當此最佳化在 when
子句內觸發時,會導致警告(「參數 %s 在智慧比對中不是數字」)。此問題現已修正。 [GH #16626]
Perl 5.28 中引入的腳本執行中十進位數字的比對有一個錯誤,導致 "1\N{THAI DIGIT FIVE}"
比對 /^(*sr:\d+)$/
時會比對成功,但實際上不應如此。此問題現已修正。
新的就地編輯程式碼不再洩漏目錄句柄。 [GH #16602]
Perl 5.28.1 自 Perl 5.28.0 以來大約經過 5 個月的開發,包含來自 12 位作者、橫跨 44 個檔案的大約 6,100 行變更。
排除自動產生的檔案、文件和發行工具後,大約有 700 行變更套用於 12 個 .pm、.t、.c 和 .h 檔案。
Perl 繼續蓬勃發展進入第四個十年,這要歸功於使用者和開發人員的活躍社群。已知以下人員貢獻了成為 Perl 5.28.1 的改進
Aaron Crane、Abigail、Chris 'BinGOs' Williams、Dagfinn Ilmari Mannsåker、David Mitchell、James E Keenan、John SJ Anderson、Karen Etheridge、Karl Williamson、Sawyer X、Steve Hay、Tony Cook。
以上清單幾乎肯定是不完整的,因為它是從版本控制記錄自動產生的。特別是,它不包含向 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 檔案,說明版權資訊。