Perl 7 jÀtkab Perl 5 arengut sujuvalt, rikkumata tagasimakset.

Perl projekti juhtkond tegi kokkuvÔtte Perl 5 haru edasise arendamise ja Perl 7 haru loomise plaanidest. Arutelude kÀigus nÔustus juhtkond, et ehtsuse rikkumine olemasoleva Perl 5 koodiga ei ole lubatud, vÀlja arvatud juhtudel, mil seda on vaja haavatavuste kÔrvaldamiseks. Samuti jÔuti jÀreldusele, et keelt tuleks edasi arendada, suurendades samal ajal uute vÔimaluste propageerimist ning lihtsustades juurdepÀÀsu uutele uuendustele ja nende rakendamise edendamist.

Erinevalt algsetest kavatsustest, mis lubasid Perl 7 harusse sisse viia vaikimisi tagurpidi ĂŒhilduvuse rikkumist, tĂ€hendab uus plaan Perl 5 haru jĂ€rkjĂ€rgulist muutmist Perl 7-ks ilma olemasoleva koodiga ĂŒhilduvust rikkumata. Perl 7.0 vĂ€ljaanne ei eristu kontseptuaalselt jĂ€rgmise Perl 5.xx haru vĂ€ljaandest.

Perl 5 uute vĂ€ljaannete arendamine jĂ€tkub senisel viisil — uued funktsionaalsused, mis ei ole ĂŒhilduvad vana koodiga, lisatakse nagu varem ainult siis, kui koodis on selgelt mÀÀratud pragma «use versioon» vĂ”i «use feature funktsioon». NĂ€iteks versioonis Perl 5.010 tutvustati uut vĂ”tmesĂ”na «say», kuid kuna olemasolevas koodis vĂ”idi kasutada funksioone nimega «say», siis uut vĂ”tmesĂ”na toetati vaid pragma «use feature 'say'» selges mÀÀramises.

Keele uue sĂŒntaksi, mis varasemates vĂ€ljaannetes tĂ”i esile vea, saab kohe kasutada ilma spetsiaalsete pragma mÀÀramata. NĂ€iteks Perl 5.36-s ilmub lihtsustatud sĂŒntaks mitme vÀÀrtuse nimekirjast korraga töötlemiseks («foreach my ($key, $value) (%hash) {«), mis on kohe kergesti kasutatav, ka koodis ilma pragma «use v5.36» kasutamata.

Praeguses versioonis Perl 5.36 aktiveeritakse pragma „use v5.36“ kasutamisel 13 kokkusobimatut funktsiooni (‘say’, ‘state’, ‘current_sub’, ‘fc’, ‘lexical_subs’, ‘signatures’, ‘isa’, ‘bareword_filehandles’, ‘bitwise’, ‘evalbytes’, ‘postderef_qq’, ‘unicode_eval’ ja ‘unicode_strings’), vaikimisi aktiveeritakse reĆŸiimid „use strict“ ja „use warnings“ ning saadakse toetuse lĂ”petamine vananenud kaudse objekti kutsumise sĂŒntaksiga (kus „->“ asemel on tĂŒhik) ja Perl 4 stiilis mitmemÔÔtmeliste massiivide ja hashide puhul („$hash{1, 2}“).

Kui muudatusi on piisavalt palju, siis jĂ€rgmise Perl 5.x vĂ€ljaande asemel luuakse Perl 7.0 versioon, mis kujutab endast teatud hetkeseisu, kuid jÀÀb tĂ€ielikult tagasiĂŒhilduvaks Perl 5-ga. Kokkuleppimata muudatuste ja seadistuste lubamiseks on vajalik pragma „use v7“ selge lisamine koodi. Seega on koodi, kus on pragma „use v7“, vĂ”imalik tĂ”lgendada kui „kaasaegne Perl“, kus on saadaval kokkusobimatud keele muudatused, ja ilma selleta - „konservatiivne Perl“, mis jÀÀb tĂ€ielikult tagasiĂŒhilduvaks varasemate vĂ€ljaannetega.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster