Perl 7 được công bố

Đêm qua tại Hội nghị Perl và Raku trên đám mây, Sawyer X công bố thay đổi phiên bản chính của Perl từ 5 thành 7. Công việc đang được tiến hành, phiên bản mới sẽ được phát hành trong vòng một năm. Tóm lại, bạn không nên mong đợi nhiều thay đổi: Perl 7 vẫn giống Perl 5.32 với các cài đặt mặc định hiện đại. Bạn không còn cần phải bao gồm rõ ràng các tính năng mà bạn đã sử dụng, chúng sẽ được kích hoạt cho bạn!

Những gì sẽ được bao gồm?

Chưa có danh sách đầy đủ, nhưng chắc chắn nghiêm ngặt và cảnh báo! Trong bản phát hành thứ 7, các chữ ký rất có thể sẽ vẫn là bản thử nghiệm, chúng cũng sẽ không có thời gian để kích hoạt utf8.

Điều gì sẽ bị vô hiệu hóa?

  • Gọi phương thức gián tiếp:

    {;
    gói Foo;

    phụ mới { ban phước {} }
    thanh phụ { print "Xin chào từ bar()!n" x pop }
    }

    # Cuộc gọi bình thường
    của tôi $foo = Foo->new();
    # Cuộc gọi gián tiếp
    thanh $ foo 42;

  • Các từ trống (barewords) làm định danh mô tả (ngoại trừ các từ tiêu chuẩn (STDIN, STDOUT, STDERR))
  • Băm giả đa chiều theo kiểu Perl 4.

    # ví dụ lấy từ perldoc perlvar
    $ foo {$ x, $ y, $ z}
    # thực sự có nghĩa là $foo{join($;, $x, $y, $z)}

  • Nguyên mẫu cũ theo phong cách Perl 4. Bây giờ bạn chỉ cần viết như thế này:

    foo phụ :prototype($$) ($left, $right) {
    trả về $ left + $ right;
    }

    Đầu tiên, một nguyên mẫu ảnh hưởng đến việc biên dịch các lệnh gọi, sau đó là các chữ ký đưa các đối số vào các biến thích hợp khi chạy.

Tuy nhiên, vẫn sẽ có cơ hội trả lại mọi thứ với số lượng lớn:
sử dụng tương thích::perl5;
Hoặc từng người một.

Perl 5.32 đang chuyển sang hỗ trợ dài hạn trong 5 năm trở lên.

Thông báo mở rộng từ Brian D Foy: https://www.perl.com/article/announcing-perl-7/
Phiên bản TL; DR từ anh ấy: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html

Nguồn: linux.org.ru

Thêm một lời nhận xét