Perl 7 yoo tẹsiwaju laisiyonu idagbasoke ti Perl 5 laisi fifọ ibamu sẹhin

Igbimọ Alakoso Perl Project ṣe alaye awọn eto fun idagbasoke siwaju sii ti ẹka Perl 5 ati ṣiṣẹda ẹka Perl 7. Lakoko awọn ijiroro, Igbimọ Alakoso gba pe ko ṣe itẹwọgba lati fọ ibamu pẹlu koodu ti a ti kọ tẹlẹ fun Perl 5, ayafi ti o ba ṣẹ. ibamu jẹ pataki lati fix vulnerabilities. Igbimọ naa tun pari pe ede yẹ ki o dagbasoke ati awọn ẹya tuntun yẹ ki o ni igbega siwaju sii ni itara, lakoko ṣiṣe awọn imotuntun ti n yọyọ rọrun lati wọle si ati iwuri gbigba.

Ko dabi awọn ero atilẹba ti gbigba awọn ayipada ti o fọ isọdọtun sẹhin lati wa pẹlu aiyipada ni ẹka Perl 7, ero tuntun ni lati yipada diẹdiẹ ẹka Perl 5 sinu Perl 7 laisi fifọ ibamu sẹhin pẹlu koodu to wa. Itusilẹ Perl 7.0 yoo jẹ ni imọran ko yatọ si ẹka Perl 5.xx ti o tẹle.

Idagbasoke ti awọn idasilẹ tuntun ti Perl 5 yoo tẹsiwaju bi iṣaaju - awọn ẹya tuntun ti a ṣafikun si ẹka ti ko ni ibamu pẹlu koodu atijọ yoo, bi tẹlẹ, wa ninu nikan ti “ẹya lilo” tabi “ẹya ẹya lilo” pragma ti ni pato ni pato ninu koodu. Fun apẹẹrẹ, Perl 5.010 ṣe agbekalẹ ọrọ-ọrọ tuntun kan “sọ”, ṣugbọn niwọn igba ti koodu ti o wa tẹlẹ le lo awọn iṣẹ ti a npè ni “sọ”, atilẹyin fun Koko tuntun ni a ṣiṣẹ nikan nipa sisọ ni pato “ẹya lilo 'sọ'” pragma.

Sintasi tuntun ti a ṣafikun si ede naa, eyiti nigbati o ba ṣe ilana ni awọn idasilẹ iṣaaju yori si aṣiṣe, yoo wa lẹsẹkẹsẹ laisi iwulo lati pato pragmas pataki. Fun apẹẹrẹ, Perl 5.36 yoo ṣafihan sintasi irọrun kan fun sisẹ awọn iye atokọ lọpọlọpọ ni ẹẹkan (“foreach mi ($ bọtini, $ iye) (% hash) {”) ti yoo wa lẹsẹkẹsẹ, paapaa ni koodu laisi “lilo” v5.36” pragma.

Ni fọọmu lọwọlọwọ rẹ, Perl 5.36 nlo “lilo v5.36” pragma lati mu awọn ẹya 13 interoperability-breaking ṣiṣẹ ('sọ', 'ipinle', 'current_sub', 'fc', 'lexical_subs', 'awọn ibuwọlu', 'isa ', 'bareword_filehandles', 'bitwise', 'evalbytes', 'postderef_qq', 'unicode_eval' ati 'unicode_strings'), mu awọn ipo “lo muna” ati “lo awọn ikilọ” nipasẹ aiyipada ki o mu atilẹyin fun ami akiyesi aiṣe-taara julọ fun pipe ohun (nigbati dipo "->" nlo aaye kan) ati Perl 4 ara multidimensional ona ati hashes ("$ hash{1, 2}").

Nigbati awọn ayipada ti o to ti kojọpọ, dipo itusilẹ atẹle ti Perl 5.x, ẹya Perl 7.0 yoo jẹ ipilẹṣẹ, eyiti yoo di iru aworan ti ipinlẹ, ṣugbọn yoo wa ni ibamu ni kikun sẹhin ni ibamu pẹlu Perl 5. Lati mu awọn ayipada ati awọn eto ṣiṣẹ. ti o fọ ibamu, iwọ yoo nilo lati ṣafikun “lilo v7” pragma ni gbangba si koodu naa. Awon. koodu pẹlu pragma "lilo v7" le ṣe itọju bi "Perl ode oni", ninu eyiti awọn iyipada ede ti o fọ ni ibamu wa, ati laisi - "Perl Konsafetifu", eyiti yoo wa ni kikun sẹhin ni ibamu pẹlu awọn idasilẹ ti o kọja.

orisun: opennet.ru

Fi ọrọìwòye kun