Perl 5.30.0 เปิดตัวแล้ว


Perl 5.30.0 เปิดตัวแล้ว

หนึ่งปีหลังจากการเปิดตัว Perl 5.28.0 การเปิดตัวก็เกิดขึ้น Perl 5.30.0.

การเปลี่ยนแปลงที่สำคัญ:

  • เพิ่มการรองรับ Unicode เวอร์ชัน 11, 12 และร่าง 12.1;
  • ขีดจำกัดบน "n" ที่กำหนดในตัวระบุปริมาณนิพจน์ทั่วไปของรูปแบบ "{m, n}" ได้รับการเพิ่มเป็นสองเท่าเป็น 65534
  • MetaCharacters ในข้อกำหนดคุณสมบัติค่าคุณสมบัติ Unicode ได้รับการสนับสนุนบางส่วนแล้ว
  • เพิ่มการสนับสนุนสำหรับ qr'N{name}';
  • ขณะนี้สามารถคอมไพล์ Perl เพื่อใช้การดำเนินการที่ปลอดภัยสำหรับเธรดของโลแคลได้เสมอ
  • ขณะนี้รองรับความยาวตัวแปรที่จำกัดเมื่อเทียบกับรูปแบบนิพจน์ทั่วไปแล้ว
  • ตอนนี้ใช้วิธีที่เร็วกว่าในการแปลงเป็น UTF-8
  • ขณะนี้รองรับภาษาเตอร์ก UTF-8 โดยไม่มีปัญหา
  • ลบการใช้แมโคร opASSIGN ออกจากเคอร์เนล

ฟังก์ชั่นที่ถูกลบออกและการเปลี่ยนแปลงที่เข้ากันไม่ได้:

  • โมดูลที่ถูกเอาออก: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
  • ตัวแยกรูปแบบควรเป็นกราฟ
  • ตอนนี้ตัวแยกควรเป็นกราฟ
  • การใช้วงเล็บปีกกาซ้ายที่ไม่ได้ใช้ Escape "{" ในรูปแบบนิพจน์ทั่วไปที่เลิกใช้แล้วก่อนหน้านี้บางรายการไม่ได้รับอนุญาตแล้ว
  • การกำหนดค่าที่ไม่เป็นศูนย์ให้กับ $[ (ดัชนีขององค์ประกอบอาร์เรย์แรก) เป็นอันตรายถึงชีวิตแล้ว
  • sysread()/syswrite() ที่เลิกใช้แล้วก่อนหน้านี้เมื่อจัดการ :utf8 เป็นอันตรายถึงชีวิตแล้ว
  • my() ในเงื่อนไขที่ผิดพลาดถูกปิดการใช้งานแล้ว;
  • เลิกใช้แล้ว $* (ตัวแปรที่ใช้ในการเปิดใช้งานการจับคู่หลายบรรทัดและถูกลบออกใน Perl v5.10.0) และ $# (ตัวแปรที่ใช้ในการจัดรูปแบบตัวเลขเอาต์พุตและถูกลบออกใน Perl v5.10.);
  • การใช้ dump() อย่างไม่มีเงื่อนไขเลิกใช้แล้ว
  • ไฟล์ที่ถูกลบ::Glob::glob();
  • pack() ไม่สามารถส่งคืน UTF-8 ที่ไม่ถูกต้องได้อีกต่อไป
  • ชุดตัวเลขใดๆ ในสคริปต์ทั่วไปนั้นใช้ได้ในสคริปต์ที่ดำเนินการโดยสคริปต์อื่น
  • JSON::PP รวม Allow_nonref เป็นค่าเริ่มต้น

ฟังก์ชันการทำงานที่เลิกใช้แล้ว:

  • คุณไม่สามารถใช้มาโครต่างๆ ที่จัดการ UTF-8 ในโค้ด XS ได้อีกต่อไป

ที่มา: linux.org.ru

เพิ่มความคิดเห็น