เมื่อคืนที่การประชุม Perl และ Raku ในระบบคลาวด์ ซอว์เยอร์ เอ็กซ์ ประกาศแล้ว เปลี่ยนเวอร์ชันหลักของ Perl จาก 5 เป็น 7 งานกำลังดำเนินการอยู่ เวอร์ชันใหม่จะออกภายในหนึ่งปี คุณไม่ควรคาดหวังถึงการเปลี่ยนแปลงมากมาย กล่าวโดยย่อคือ Perl 7 ยังคงเป็น Perl 5.32 เดิมที่มีการตั้งค่าเริ่มต้นสมัยใหม่ คุณไม่จำเป็นต้องเปิดใช้งานคุณสมบัติที่คุณใช้อยู่แล้วอย่างชัดเจนอีกต่อไป เพราะคุณสมบัติเหล่านั้นจะถูกเปิดใช้งานสำหรับคุณ!

จะรวมอะไรบ้าง?

รายชื่อยังไม่สมบูรณ์ แต่เข้มงวดและเตือนแน่นอน! ในรุ่นที่ 7 ลายเซ็นมักจะยังคงเป็นแบบทดลอง และ utf8 จะไม่มีเวลารวมไว้ด้วย

อะไรจะถูกปิดการใช้งาน?

  • การเรียกวิธีการทางอ้อม:

    {;
    แพ็คเกจฟู;

    ย่อยใหม่ { อวยพร {} }
    แถบย่อย { พิมพ์ "สวัสดีจากบาร์ ()! n" x ป๊อป }
    }

    #โทรได้ปกติ
    $foo = Foo->new(); ของฉัน
    # โทรทางอ้อม
    บาร์ $fo 42;

  • คำเปล่า (คำเปล่า) เป็นตัวระบุคำอธิบาย (ยกเว้นคำมาตรฐาน (STDIN, STDOUT, STDERR))
  • Perl 4 สไตล์หลอกแฮชหลายมิติ

    # ตัวอย่างที่นำมาจาก perldoc perlvar
    $foo{$x,$y,$z}
    # จริงๆ แล้วหมายถึง $foo{join($;, $x, $y, $z)}

  • ต้นแบบเก่าในสไตล์ Perl 4 ตอนนี้คุณต้องเขียนดังนี้:

    ย่อย foo :prototype($$) ($left, $right) {
    ส่งคืน $left + $right;
    }

    อันดับแรกคือต้นแบบที่ส่งผลต่อการรวบรวมการโทร จากนั้นจึงสร้างลายเซ็นที่วางอาร์กิวเมนต์ในตัวแปรที่เหมาะสมขณะรันไทม์

อย่างไรก็ตาม ยังคงมีโอกาสที่จะส่งคืนทุกอย่างกลับเป็นกลุ่ม:
ใช้ความเข้ากันได้::perl5;
หรือทีละครั้ง

Perl 5.32 เข้าสู่การสนับสนุนระยะยาวเป็นระยะเวลา 5 ปี

ประกาศเพิ่มเติมจาก Brian D Foy: https://www.perl.com/article/announcing-perl-7/
เวอร์ชัน TL; DR จากเขา: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html

ที่มา: linux.org.ru

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