การเปิดตัวภาษาโปรแกรม Perl 5.34.0

หลังจากพัฒนามา 11 เดือน ในที่สุดก็ได้เปิดตัว Perl เวอร์ชัน 5.34 ซึ่งเป็นเวอร์ชันเสถียรใหม่ เวอร์ชันใหม่นี้มีการเปลี่ยนแปลงโค้ดประมาณ 280 บรรทัด ส่งผลกระทบต่อไฟล์ 2100 ไฟล์ และมีนักพัฒนา 78 คนเข้าร่วม

เวอร์ชัน 5.34 ได้รับการเผยแพร่ตามกำหนดการพัฒนาที่กำหนดไว้เมื่อแปดปีก่อน ซึ่งกำหนดให้มีการเผยแพร่เวอร์ชันเสถียรใหม่ปีละครั้ง และเวอร์ชันย่อยทุกสามเดือน เวอร์ชันย่อยแรกคือ Perl 5.34.1 มีกำหนดเผยแพร่ในอีกประมาณหนึ่งเดือนข้างหน้า โดยจะแก้ไขข้อบกพร่องสำคัญๆ ที่พบระหว่างการใช้งาน Perl 5.34.0 นอกจากการเปิดตัว Perl 5.34 แล้ว การสนับสนุนเวอร์ชัน 5.30 ก็สิ้นสุดลงแล้วเช่นกัน การอัปเดตในอนาคตจะเผยแพร่ได้ก็ต่อเมื่อพบปัญหาความปลอดภัยที่สำคัญเท่านั้น การพัฒนาเวอร์ชันทดลอง 5.35 ก็เริ่มต้นขึ้นเช่นกัน ซึ่งจะเป็นพื้นฐานสำหรับ Perl 5.36 เวอร์ชันเสถียรในเดือนพฤษภาคมหรือมิถุนายน 2022 เว้นแต่ว่า Perl 5 จะถูกแทนที่ด้วย Perl 7

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

  • มีการเพิ่มการรองรับการทดลองสำหรับการจัดการข้อยกเว้นแบบ try/catch ซึ่งสามารถใช้แทนไวยากรณ์ eval ที่ไม่ชัดเจนได้ บล็อก try ประกอบด้วยบล็อกโค้ดสำหรับดำเนินการ และบล็อก catch ประกอบด้วยโค้ดสำหรับจัดการข้อยกเว้นใดๆ ที่อาจเกิดขึ้นระหว่างการดำเนินการบล็อกแรก บล็อก catch กำหนดตัวแปรที่มีข้อมูลที่ส่งผ่านเมื่อเกิดข้อยกเว้น (ตัวอย่างเช่น หากเกิดข้อยกเว้น สตริงที่ระบุจะถูกส่งเป็นอาร์กิวเมนต์ไปยังการเรียกใช้ die) คำสั่ง Jump ซึ่งรวมถึง return, goto, next, last และ redo ได้รับอนุญาตให้ใช้ภายในบล็อก try และ catch ใช้คุณลักษณะ 'try'; try { a_function(); } catch ($e) { warn "An error occurred: $e"; }
  • ขณะนี้อนุญาตให้ใช้ขอบเขตล่างว่างสำหรับช่วงในบล็อก "{a,n}" รวมถึงบล็อกที่ใช้ในนิพจน์ทั่วไปด้วย ตัวอย่างเช่น สามารถระบุ "{,3}" ได้แล้ว
  • ตอนนี้มีการอนุญาตให้มีช่องว่างภายในพารามิเตอร์ที่มีวงเล็บปีกกา {m,n}, \b{}, \g{}, \k{}, \N{}, \o{} และ \x{} หากช่องว่างนั้นอยู่ติดกับวงเล็บปีกกาหรือเครื่องหมายจุลภาค สำหรับการหลบหนีแบบคู่ หรือในรูปแบบนิพจน์ทั่วไป เช่น ตอนนี้คุณสามารถระบุ "qr/a{ 5, 7 }/" หรือ "\x{ FFFC }" ได้โดยไม่ต้องใส่เครื่องหมายคำพูดสำหรับค่า
  • นอกจากลิเทอรัลเลขฐานสิบหก (0xddddd) และเลขฐานสอง (0bddddd) แล้ว ยังมีการเสนอไวยากรณ์ใหม่สำหรับการระบุเลขฐานแปด นั่นคือ "0oddddd" สามารถใช้เครื่องหมายขีดล่าง (0o123_456) เพื่อความชัดเจนได้ นอกจากนี้ ฟังก์ชัน oct() ในตัวยังรองรับไวยากรณ์ใหม่นี้ด้วย
  • การรั่วไหลของหน่วยความจำได้รับการแก้ไขแล้วในกลไกนิพจน์ปกติ
  • เวอร์ชันของโมดูลที่รวมอยู่ในชุดการแจกจ่ายพื้นฐานได้รับการอัปเดตแล้ว แพ็กเกจนี้มีโมดูล ExtUtils::PL2Bat สำหรับแปลงสคริปต์ Perl เป็นไฟล์ BAT เพื่อเรียกใช้งานใน Windows.
  • เพิ่มการสนับสนุนการสร้าง Perl สำหรับระบบ 9front (ซึ่งเป็นเวอร์ชันแยกของ Plan9) ปรับปรุงการสนับสนุน Plan9 และ macOSการสนับสนุนระบบปฏิบัติการ Symbian ได้ถูกยกเลิกแล้ว

ที่มา: opennet.ru

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster