Këshilli drejtues i projektit Perl përmbledh planet për zhvillimin e mëtejshëm të degës Perl 5 dhe krijimin e degës Perl 7. Gjatë diskutimeve, këshilli ra dakord se është e papranueshme të shkelet përputhshmëria me kodin e shkruar tashmë për Perl 5, përveç rasteve kur shkelja e përputhshmërisë është e nevojshme për të eliminuar dobësitë. Këshilli gjithashtu arriti në përfundimin se gjuha duhet të zhvillohet dhe është e nevojshme të promovohen më intensivisht mundësitë e reja, duke thjeshtuar për këtë qëllim aksesin në risitë në shfaqje dhe duke inkurajuar zbatimin e tyre.
Në kundërshtim me qëllimet fillestare, të cilat parashikonin përfshirjen si parazgjedhje të ndryshimeve që shkelin përputhshmërinë në degën Perl 7, plani i ri parashikon një transformim gradual të degës Perl 5 në Perl 7 pa shkelur përputhshmërinë me kodin ekzistues. Publikimi i Perl 7.0 konceptualisht nuk do të jetë ndryshe nga dega e ardhshme Perl 5.xx.
Zhvillimi i versioneve tĂ« reja tĂ« Perl 5 do tĂ« vazhdojĂ« nĂ« formatin e mĂ«parshĂ«m â mundĂ«sitĂ« e reja tĂ« shtyra nĂ« degĂ«, tĂ« cilat nuk janĂ« tĂ« pĂ«rputhshme me kodin e vjetĂ«r, do tĂ« pĂ«rfshihen si mĂ« parĂ« vetĂ«m me kĂ«rkesĂ« tĂ« shprehur nĂ« kodin e pragmĂ«s 'use version' ose 'use feature possibility'. PĂ«r shembull, nĂ« versionin Perl 5.010 u paraqit fjala kyçe e re 'say', por pasi nĂ« kodin ekzistues mund tĂ« ishin pĂ«rdorur funksione me emrin 'say', mbĂ«shtetje pĂ«r fjalĂ«n kyçe tĂ« re u aktivizua vetĂ«m me kĂ«rkesĂ« tĂ« shprehur tĂ« pragmĂ«s 'use feature âsay'.
Sintaksa e re që po shtohet në gjuhë, e cila në përpunimin në versionet e kaluara shkaktonte një gabim, bëhet e disponueshme menjëherë pa nevojën për të treguar pragmatikë speciale. Për shembull, në Perl 5.36 do të paraqitet sintaksa e thjeshtëzuar për përpunimin e menjëhershëm të disa vlerave nga lista ('foreach my ($key, $value) (%hash) {'), e cila do të jetë e disponueshme menjëherë, edhe në kodin pa pragmatikën 'use v5.36'.
Në formën aktuale në Perl 5.36, me përdorimin e pragmës 'use v5.36' aktivizohen 13 mundësi që shkelin përputhshmërinë ('say', 'state', 'current_sub', 'fc', 'lexical_subs', 'signatures', 'isa', 'bareword_filehandles', 'bitwise', 'evalbytes', 'postderef_qq', 'unicode_eval' dhe 'unicode_strings'), aktivizohen parazgjedhje modet 'use strict' dhe 'use warnings' dhe ndalohet mbështetja e notacioneve të vjetra të thirrjes së objekteve (kur në vend të '->' përdoret një hapësirë) dhe masat dhe hash-et multi-dimensionale në stilin Perl 4 ('$hash{1, 2}').
Kur ndryshimet grumbullohen mjaftueshĂ«m, nĂ« vend tĂ« njĂ« lĂ«shimi tjetĂ«r tĂ« Perl 5.x do tĂ« formohet versione Perl 7.0, e cila do tĂ« jetĂ« njĂ« lloj pasqyre e gjendjes, por do tĂ« mbetet plotĂ«sisht e prapambetur e pĂ«rputhshme me Perl 5. PĂ«r tĂ« pĂ«rfshirĂ« ndryshime dhe cilĂ«sime qĂ« shkelin pĂ«rputhshmĂ«rinĂ«, do tĂ« kĂ«rkohet njĂ« shtesĂ« eksplicite nĂ« kodin pragmĂ«s «use v7». Pra, kodi me pragmĂ«n «use v7» mund tĂ« interpretohet si «Perl modern», nĂ« tĂ« cilin janĂ« tĂ« disponueshme ndryshime qĂ« shkelin pĂ«rputhshmĂ«rinĂ« e gjuhĂ«s, ndĂ«rsa pa kĂ«tĂ« â «Perl konservator», i cili do tĂ« mbetet plotĂ«sisht i prapambetur e pĂ«rputhshĂ«m me lĂ«shimet e mĂ«parshme.
Burimi: opennet.ru
