Perli projekti juhtkomitee on kokku vĂ”tnud Perl 5 arendamise ja Perl 7 loomise tulevikuplaanid. Arutelu kĂ€igus nĂ”ustus juhtkomitee, et ei tohi rikkuda ĂŒhilduvust juba kirjutatud Perl 5 koodiga, vĂ€lja arvatud juhul, kui ĂŒhilduvuse rikkumine on vajalik haavatavuste kĂ”rvaldamiseks. Komitee jĂ”udis samuti jĂ€reldusele, et keel peab arenema ja uusi vĂ”imalusi tuleks aktiivsemalt edendada, lihtsustades juurdepÀÀsu uutele uuendustele ja soodustades nende kasutuselevĂ”ttu.
Erinevalt algsetest kavatsustest, mis lubasid Perl 7 harusse vaikimisi tagasipöördumatud muudatused, eeldab uus plaan Perl 5 jĂ€rk-jĂ€rgulist muutmist Perl 7-ks, ilma et rikuks ĂŒhilduvust juba olemasoleva koodiga. Perl 7.0 vĂ€ljaandmine ei erine kontseptuaalselt jĂ€rgmise Perl 5.xx haru vĂ€ljaandest.
Perl 5 uute vĂ€ljaannete arendamine jĂ€tkub endisel viisil â uued vĂ”imalused, mis ei ole ĂŒhilduvad vana koodiga, lisatakse nagu ennem, ainult siis, kui koodis on selgelt mÀÀratud pragma «use version» vĂ”i «use feature capability». NĂ€iteks Perl 5.010-s tutvustati uut vĂ”tmesĂ”na «say», aga kuna olemasolevas koodis vĂ”idi kasutada funktsioone nimega «say», siis uue vĂ”tmesĂ”na tugi aktiveeriti ainult pragma «use feature 'say'» selge mÀÀramise korral.
Keele uue sĂŒntaksi, mis varasemates vĂ€ljaannetes tĂ”i esile vea, jĂ”udmine on kohene, ilma et oleks vaja spetsiaalsete pragmade mÀÀramist. NĂ€iteks Perl 5.36-s tutvustatakse lihtsustatud sĂŒntaksit mitme vÀÀrtuse loendi samaaegseks töötlemiseks («foreach my ($key, $value) (%hash) {«), mis on kohe saadaval, isegi koodis, kus pragma «use v5.36» ei ole mÀÀratud.
Praeguses Perl 5.36-s aktiveerib pragma «use v5.36» 13 ĂŒhilduvust rikkuvat vĂ”imalust (âsayâ, âstateâ, âcurrent_subâ, âfcâ, âlexical_subsâ, âsignaturesâ, âisaâ, âbareword_filehandlesâ, âbitwiseâ, âevalbytesâ, âpostderef_qqâ, âunicode_evalâ ja âunicode_stringsâ), vaikimisi on sisse lĂŒlitatud reĆŸiimid «use strict» ja «use warnings», ning keelatakse vananenud kaudne objekti kutsumise sĂŒntaks (kus kasutaakse tĂŒhikuid «->» asemel) ja mitmemÔÔtmelised massiivid ning hĂ€sid Perl 4 stiilis («$hash{1, 2}»).
Kui muudatusi on piisavalt palju, siis Perl 5.x jĂ€rgmise versioonina luuakse Perl 7.0, mis kujutab endast eriliselt staatust, kuid jÀÀb tĂ€ielikult tagasi ĂŒhilduvaks Perl 5-ga. Ăhilduvust rikkuvate muudatuste ja seadete lisamiseks on vajalik selgelt lisada koodi pragma «use v7». St. kood pragma «use v7» vĂ”ib tĂ”lgendada kui «kaasaegne Perl», kus on saadaval ĂŒhilduvust rikkuvad keelemuudatused, ja ilma â «konservatiivne Perl», mis jÀÀb tĂ€ielikult tagasi ĂŒhilduvaks varasemate vĂ€ljaannetega.
Allikas: opennet.ru
