Setahun selepas keluaran Perl 5.28.0, keluaran berlaku Perl 5.30.0.
Perubahan penting:
- Menambah sokongan untuk Unicode versi 11, 12 dan draf 12.1;
- Had atas "n" yang diberikan dalam pengkuantiti ungkapan biasa bagi bentuk "{m, n}" telah digandakan kepada 65534;
- Metacharacter dalam spesifikasi nilai sifat Unicode kini sebahagiannya disokong;
- Menambah sokongan untuk qr'N{name}';
- Perl kini boleh disusun untuk sentiasa menggunakan operasi selamat benang setempat;
- Panjang pembolehubah terhad berbanding corak ungkapan biasa kini disokong secara eksperimen;
- Kaedah yang lebih pantas kini digunakan untuk menukar kepada UTF-8;
- Tempatan Turkik UTF-8 kini disokong tanpa masalah;
- Mengalih keluar penggunaan makro opASSIGN daripada kernel;
Fungsi yang telah dialih keluar dan perubahan yang tidak serasi:
- Modul yang dialih keluar: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- Pemisah corak kini sepatutnya menjadi grafem;
- Pemisah kini sepatutnya menjadi grafem;
- Beberapa penggunaan kurungan kiri "{" yang tidak dilepaskan sebelum ini dalam corak ungkapan biasa kini dilarang;
- Menetapkan nilai bukan sifar kepada $[ (indeks unsur tatasusunan pertama) kini membawa maut;
- Sysread()/syswrite() yang sebelum ini ditamatkan apabila mengendalikan :utf8 kini membawa maut.
- my() dalam keadaan palsu kini dilumpuhkan;
- $* ditamatkan (pembolehubah digunakan untuk mendayakan padanan berbilang baris dan telah dialih keluar dalam Perl v5.10.0) dan $# (pembolehubah digunakan untuk memformat nombor output dan telah dialih keluar dalam Perl v5.10.);
- Penggunaan dump() yang tidak layak telah ditamatkan;
- Fail Dialih Keluar::Glob::glob();
- pack() tidak lagi boleh mengembalikan UTF-8 yang tidak sah;
- Sebarang set nombor dalam skrip umum adalah sah dalam skrip yang dilaksanakan oleh skrip lain;
- JSON::PP termasuk allow_nonref secara lalai;
Fungsi ditamatkan:
- Anda tidak boleh lagi menggunakan pelbagai makro yang mengendalikan UTF-8 dalam kod XS;
Sumber: linux.org.ru