Setahun setelah rilis Perl 5.28.0, rilis dilakukan perl 5.30.0.
Perubahan penting:
- Menambahkan dukungan untuk Unicode versi 11, 12 dan draft 12.1;
- Batas atas "n" yang diberikan dalam bilangan ekspresi reguler bentuk "{m, n}" telah digandakan menjadi 65534;
- Metakarakter dalam spesifikasi nilai properti Unicode kini didukung sebagian;
- Menambahkan dukungan untuk qr'N{name}';
- Perl sekarang dapat dikompilasi untuk selalu menggunakan operasi thread-safe lokal;
- Panjang variabel terbatas versus pola ekspresi reguler kini didukung secara eksperimental;
- Metode yang lebih cepat sekarang digunakan untuk mengonversi ke UTF-8;
- Lokal UTF-8 Turki kini didukung tanpa masalah;
- Menghapus penggunaan makro opASSIGN dari kernel;
Fungsionalitas yang telah dihapus dan perubahan yang tidak kompatibel:
- Modul yang dihapus: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- Pemisah pola sekarang harus berupa grafem;
- Pemisah sekarang harus berupa grafem;
- Beberapa penggunaan tanda kurung kiri "{" yang sebelumnya tidak digunakan lagi dalam pola ekspresi reguler kini dilarang;
- Menetapkan nilai bukan nol ke $[ (indeks elemen array pertama) sekarang berakibat fatal;
- Sysread()/syswrite() yang sebelumnya tidak digunakan lagi saat menangani :utf8 kini berakibat fatal.
- my() dalam kondisi salah sekarang dinonaktifkan;
- $* tidak digunakan lagi (variabel yang digunakan untuk mengaktifkan pencocokan multiline dan telah dihapus di Perl v5.10.0) dan $# (variabel yang digunakan untuk memformat angka keluaran dan telah dihapus di Perl v5.10.);
- Penggunaan dump() yang tidak memenuhi syarat tidak digunakan lagi;
- File yang Dihapus::Glob::glob();
- pack() tidak dapat lagi mengembalikan UTF-8 yang tidak valid;
- Kumpulan angka apa pun dalam skrip umum valid dalam skrip yang dijalankan oleh skrip lain;
- JSON::PP menyertakanallow_nonref secara default;
Fungsionalitas yang tidak digunakan lagi:
- Anda tidak dapat lagi menggunakan berbagai makro yang menangani UTF-8 dalam kode XS;
Sumber: linux.org.ru