Perl 7 ipitilizabe kukula kwa Perl 5 popanda kuphwanya kuyanjana chakumbuyo

Perl Project Governing Council inafotokoza mapulani opititsa patsogolo nthambi ya Perl 5 ndikupanga nthambi ya Perl 7. Pazokambirana, Bungwe Lolamulira linagwirizana kuti sikuvomerezeka kuphwanya malamulo omwe adalembedwa kale ku Perl 5, pokhapokha ataphwanya. kuyanjana ndikofunikira kukonza zofooka. Bungweli linanenanso kuti chilankhulochi chiyenera kusinthika ndipo zatsopano ziyenera kulimbikitsidwa kwambiri, ndikupangitsa kuti zatsopano zomwe zikubwera zikhale zosavuta kuzipeza komanso kulimbikitsa kutengera ana.

Mosiyana ndi zolinga zoyambirira zololeza zosintha zomwe zimasokoneza kuyanjana chakumbuyo kuti ziphatikizidwe ndi kusakhazikika munthambi ya Perl 7, dongosolo latsopanoli ndikusintha pang'onopang'ono nthambi ya Perl 5 kukhala Perl 7 popanda kuphwanya kutsata kumbuyo ndi ma code omwe alipo. Kutulutsidwa kwa Perl 7.0 sikudzakhala kosiyana ndi nthambi yotsatira ya Perl 5.xx.

Kupanga zatsopano za Perl 5 kupitilirabe monga kale - zatsopano zomwe zawonjezeredwa kunthambi zomwe sizikugwirizana ndi code yakale, monga kale, zidzaphatikizidwa pokhapokha ngati "use version" kapena "use feature feature" pragma yafotokozedwa momveka bwino. mu kodi. Mwachitsanzo, Perl 5.010 adayambitsa mawu atsopano oti "nenani", koma popeza code yomwe ilipo ingagwiritse ntchito ntchito zotchedwa "nenani", kuthandizira mawu atsopanowa kunayatsidwa pokhapokha pofotokoza mwatsatanetsatane "ntchito" ya "kunena" pragma.

Syntax yatsopano yowonjezeredwa m'chinenerochi, yomwe ikasinthidwa m'mabuku am'mbuyomu idapangitsa kuti pakhale cholakwika, imapezeka nthawi yomweyo popanda kufunikira kutchula ma pragmas apadera. Mwachitsanzo, Perl 5.36 ibweretsa mawu osavuta osinthira mindandanda yambiri nthawi imodzi ("foreach my ($key, $value) (%hash) {") yomwe ipezeka nthawi yomweyo, ngakhale mu code popanda "kugwiritsa ntchito. v5.36" pragma.

M'mawonekedwe ake apano, Perl 5.36 imagwiritsa ntchito pragma ya "gwiritsani ntchito v5.36" kuti ipangitse mawonekedwe 13 osagwirizana ('say', 'state', 'current_sub', 'fc', 'lexical_subs', 'signature', 'isa ', ' bareword_filehandles', 'bitwise', 'evalbytes', 'postderef_qq', 'unicode_eval' ndi 'unicode_strings'), yambitsani "kugwiritsa ntchito mosamalitsa" ndi "gwiritsani ntchito machenjezo" mwachisawawa ndikuletsa kuthandizira kwa mbiri yakale kuyitana zinthu (pamene m'malo mwa "- >" amagwiritsa ntchito danga) ndi Perl 4 style multidimensional arrays ndi hashes ("$hash{1, 2}").

Zosintha zokwanira zikachuluka, m'malo motulutsa Perl 5.x, mtundu wa Perl 7.0 udzapangidwa, womwe udzakhala mtundu wa chithunzithunzi cha boma, koma udzakhalabe wobwerera m'mbuyo mogwirizana ndi Perl 5. Kuti athe kusintha ndi makonda. Kugwirizana kwanthawi yopuma, muyenera kuwonjezera momveka bwino "kugwiritsa ntchito v7" pragma pa code. . Iwo. code yokhala ndi "use v7" pragma imatha kuonedwa ngati "Perl yamakono", momwe zosinthika zosinthira chilankhulo zimapezeka, komanso popanda - "Conservative Perl", zomwe zizikhalabe m'mbuyo zikugwirizana ndi zotulutsa zakale.

Source: opennet.ru

Kuwonjezera ndemanga