Perl 7 кері үйлесімділікті бұзбай Perl 5-тің дамуын үздіксіз жалғастырады

Perl жобасының Басқарушы кеңесі Perl 5 тармағын одан әрі дамыту және Perl 7 филиалын құру жоспарларын белгіледі.Талқылау барысында Басқарушы кеңес Perl 5 үшін бұрыннан жазылған кодпен үйлесімділікті бұзу мүмкін емес деп келісті. осалдықтарды түзету үшін үйлесімділік қажет. Кеңес сонымен қатар тілдің дамуы және жаңа мүмкіндіктерді қарқынды түрде ілгерілету керек, сонымен бірге пайда болған инновацияларға қол жеткізуді жеңілдету және қабылдауды ынталандыру керек деген қорытындыға келді.

Кері үйлесімділікті бұзатын өзгерістерді Perl 7 тармағына әдепкі бойынша қосуға рұқсат берудің бастапқы ниеттерінен айырмашылығы, жаңа жоспар Perl 5 тармағын бар кодпен кері үйлесімділікті бұзбай Perl 7-ге біртіндеп көшіру болып табылады. Perl 7.0 шығарылымы концептуалды түрде келесі Perl 5.xx тармағынан еш айырмашылығы болмайды.

Perl 5-тің жаңа шығарылымдарын әзірлеу бұрынғыдай жалғасады - ескі кодпен үйлеспейтін филиалға қосылған жаңа мүмкіндіктер, бұрынғыдай, егер «пайдалану нұсқасы» немесе «мүмкіндік мүмкіндігін пайдалану» прагмасы нақты көрсетілген болса ғана қосылады. кодта. Мысалы, Perl 5.010 жаңа «айт» кілт сөзін енгізді, бірақ бар код «айт» деп аталатын функцияларды пайдалана алатындықтан, жаңа кілт сөзді қолдау тек «пайдалану мүмкіндігі «айту»» прагмасын нақты көрсету арқылы ғана қосылды.

Алдыңғы шығарылымдарда өңделген кезде қатеге әкелген тілге қосылған жаңа синтаксис арнайы прагмаларды көрсетуді қажет етпестен бірден қол жетімді болады. Мысалы, Perl 5.36 бірден бірнеше тізім мәндерін өңдеуге арналған жеңілдетілген синтаксисті енгізеді («foreach my ($key, $value) (%hash) {»), ол тіпті «пайдалануынсыз» кодта да бірден қолжетімді болады. v5.36” прагма.

Қазіргі пішінінде Perl 5.36 5.36 өзара әрекеттесуді бұзатын мүмкіндіктерді ('айталық', 'күй', 'current_sub', 'fc', 'lexical_subs', 'signatures', 'isa) қосу үшін "v13 пайдалану" прагмасын пайдаланады. ', ' bareword_filehandles', 'bitwise', 'evalbytes', 'postderef_qq', 'unicode_eval' және 'unicode_strings'), әдепкі бойынша "қатаң пайдалану" және "ескертулерді пайдалану" режимдерін қосыңыз және бұрынғы жанама белгілерге қолдау көрсетуді өшіріңіз. объектілерді шақыру («- >» орнына бос орынды пайдаланған кезде) және Perl 4 стиліндегі көп өлшемді массивтер мен хэштер («$хэш{1, 2}»).

Өзгерістер жеткілікті жинақталғанда, Perl 5.x келесі шығарылымының орнына Perl 7.0 нұсқасы жасалады, ол күйдің суретінің бір түріне айналады, бірақ Perl 5-пен толығымен кері үйлесімді болып қалады. Өзгерістер мен параметрлерді қосу үшін бұл үйлесімділікті бұзу үшін кодқа «v7 пайдалану» прагмасын нақты қосу керек. . Анау. "пайдалану v7" прагмасы бар кодты "заманауи Perl" ретінде қарастыруға болады, онда үйлесімділікті бұзатын тіл өзгерістері қолжетімді, ал онсыз - бұрынғы шығарылымдармен кері үйлесімді болып қалатын "консервативті Perl".

Ақпарат көзі: opennet.ru

пікір қалдыру