Perl 7 Diumumkan

Tadi malam di Konferensi Perl dan Raku di Cloud, Sawyer X mengumumkan mengubah versi utama Perl dari 5 menjadi 7. Pekerjaan sedang berlangsung, versi baru akan dirilis dalam waktu satu tahun. Anda seharusnya tidak mengharapkan banyak perubahan, singkatnya: Perl 7 masih sama dengan Perl 5.32 dengan pengaturan default modern. Anda tidak perlu lagi secara eksplisit mengaktifkan fitur yang sudah Anda gunakan, fitur tersebut akan diaktifkan untuk Anda!

Apa yang akan disertakan?

Belum ada daftar lengkapnya, tapi ketat dan penuh peringatan pasti! Dalam rilis ke-7, tanda tangan kemungkinan besar akan tetap eksperimental; utf8 juga tidak punya waktu untuk dimasukkan.

Apa yang akan dinonaktifkan?

  • Panggilan metode tidak langsung:

    {;
    paket Foo;

    sub baru { memberkati {} }
    sub bar { print "Halo dari bar()!n" x pop }
    }

    # Panggilan biasa
    $foo = Foo->baru();
    # Panggilan tidak langsung
    batang $foo 42;

  • Kata-kata kosong (barewords) sebagai pengidentifikasi deskriptor (kecuali yang standar (STDIN, STDOUT, STDERR))
  • Hash multidimensi semu gaya Perl 4.

    # contoh diambil dari perldoc perlvar
    $fo{$x,$y,$z}
    # sebenarnya berarti $foo{join($;, $x, $y, $z)}

  • Prototipe lama dengan gaya Perl 4. Sekarang Anda hanya perlu menulis seperti ini:

    sub foo :prototipe($$) ($kiri, $kanan) {
    kembali $kiri + $kanan;
    }

    Pertama sebuah prototipe yang mempengaruhi kompilasi panggilan, dan kemudian tanda tangan yang menempatkan argumen dalam variabel yang sesuai pada saat runtime.

Namun, masih ada peluang untuk mengembalikan semuanya secara massal:
gunakan compat::perl5;
Atau satu per satu.

Perl 5.32 masuk ke dalam dukungan jangka panjang untuk jangka waktu 5 tahun.

Pengumuman tambahan dari Brian D Foy: https://www.perl.com/article/announcing-perl-7/
Versi TL;DR dari dia: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html

Sumber: linux.org.ru

Tambah komentar