Sawise 11 sasi pembangunan dumadi release saka cabang stabil anyar saka basa pemrograman Perl - 5.30. Nalika nyiapake rilis anyar, udakara 620 ewu baris kode diganti, owah-owahan kena pengaruh 1300 file, lan 58 pangembang melu pangembangan.
Cabang 5.30 dirilis miturut jadwal pembangunan tetep sing disetujoni enem taun kepungkur, sing nuduhake rilis cabang stabil anyar setaun lan rilis korektif saben telung wulan. Kira-kira sasi, direncanakake ngeculake release korektif pisanan Perl 5.30.1, sing bakal mbenerake kesalahan sing paling penting sing diidentifikasi sajrone implementasi Perl 5.30.0. Bebarengan karo release saka Perl 5.30, dhukungan kanggo cabang 5.26 dihentikan, sing nganyari bisa uga dirilis ing mangsa ngarep mung yen masalah keamanan kritis diidentifikasi. Proses pangembangan cabang eksperimen 5.31 uga wis diwiwiti, kanthi basis rilis stabil Perl 2020 bakal dibentuk ing Mei 5.32.
Nilai maksimum saka specifier ukuran ("n") ing "{m,n}" pamblokiran ekspresi reguler wis tambah kanggo 65534;
Ditambahake winates dhukungan topeng kanggo nyorot kategori karakter tartamtu ing ekspresi reguler, nyakup set Unicode sing beda. Contone, ungkapan "qr! \p{nv= /(?x) \A [0-5] \z / }!β ngidini sampeyan milih kabeh karakter Unicode sing nemtokake angka saka 0 nganti 5, kalebu ejaan angka Thai utawa Bengali;
Ditambahake dhukungan kanggo karakter sing dijenengi ing ekspresi reguler
pola ing njero diwatesi nganggo tanda kutip tunggal (qr'\N{name}');
Nambahake kemampuan kanggo mbangun perl kanthi implementasine operasi kanthi lokal sing ndhukung operasi multi-threaded (-Accflags = '-DUSE_THREAD_SAFE_LOCALE'). Sadurunge, implementasine kuwi mung digunakake nalika mbangun versi multi-threaded saka Perl, nanging saiki bisa diaktifake kanggo mbangun sembarang;
Nggabungake gendera "-Dv" (output debugging ditingkatake) lan "-Dr" (debugging regex) saiki nyebabake kabeh mode debugging ekspresi reguler bisa diaktifake;
Fitur sing sadurunge ora digunakake wis dibusak:
Saiki kasedhiya minangka pemisah baris lan karakter wildcard diijini nggunakake mung grafem (karakter Unicode komposit ora diidini).
diterusake Dhukungan kanggo sawetara wangun sing wis suwe nggunakake karakter "{" ing ekspresi reguler tanpa uwal.
Punika ingkang boten pareng nggunakake sysread (), syswrite (), recv () lan ngirim () fungsi karo ": utf8" handler.
Dilarang nggunakake definisi "my" ing statement kondisional sing palsu (contone, "my $x yen 0").
Dhukungan kanggo variabel khusus "$*" lan "$#" wis dibusak.
Dhukungan kanggo panggilan implisit saka dump () fungsi wis mandhek (sampeyan saiki kudu tegas nemtokake CORE :: dump ()).
Fungsi File::Glob::glob wis dibusak (sampeyan kudu nggunakake File::Glob::bsd_glob).
Pungkasan dhukungan kanggo panggunaan makro sing nindakake operasi karo UTF-8 ing kode XS (blok C) wis ditundha nganti rilis sabanjure.
Optimasi Kinerja:
Operasi terjemahan saka UTF-8 menyang tata letak karakter wis digawe cepet (titik kode), contone, nindakake operasi ord("\x7fff") saiki mbutuhake 12% instruksi luwih sithik. Kinerja operasi mriksa kabeneran urutan karakter UTF-8 uga wis tambah;
Telpon rekursif ing fungsi finalize_op () wis ngilangi;
Nggawe optimizations suntingan kanggo kode kanggo collapsing karakter podho rupo lan nemtokake kelas karakter ing ekspresi biasa;
Dioptimalake ngowahi definisi jinis sing ditandatangani dadi sing ora ditandatangani (IV dadi UV);
Algoritma kanggo ngowahi integer dadi senar wis digawe cepet kanthi ngolah rong digit bebarengan tinimbang siji;
Dandan wis ditindakake disiapake adhedhasar analisis dening LGTM;
Kode Optimized ing file regcomp.c, regcomp.h lan regexec.c;
Ing ekspresi reguler, pangolahan pola kaya "qr/[^a]/" kanthi karakter ASCII wis cepet banget.