Perl 7 bakal nerusake evolusi Perl 5 kanthi lancar tanpa ngrusak kompatibilitas mundur

Perl Project Governing Council mbatesi plans kanggo pangembangan luwih saka Perl 5 cabang lan nggawe cabang Perl 7. Sajrone diskusi, Governing Council sarujuk sing ora ditrima kanggo break kompatibilitas karo kode wis ditulis kanggo Perl 5, kajaba bejat kompatibilitas perlu kanggo ndandani vulnerabilities. Dewan uga nyimpulake yen basa kasebut kudu berkembang lan fitur-fitur anyar kudu dipromosekake kanthi luwih intensif, nalika nggawe inovasi sing berkembang luwih gampang diakses lan nyengkuyung adopsi.

Ora kaya maksud asli kanggo ngidini owah-owahan sing ngilangi kompatibilitas mundur kanthi gawan ing cabang Perl 7, rencana anyar yaiku kanthi bertahap mindhah cabang Perl 5 menyang Perl 7 tanpa ngrusak kompatibilitas mundur karo kode sing wis ana. Rilis Perl 7.0 bakal sacara konseptual ora beda karo cabang Perl 5.xx sabanjure.

Pangembangan rilis anyar Perl 5 bakal terus kaya sadurunge - fitur-fitur anyar sing ditambahake ing cabang sing ora kompatibel karo kode lawas bakal, kaya sadurunge, bakal dilebokake mung yen pragma "nggunakake versi" utawa "nggunakake fitur fitur" kasebut kanthi jelas. ing kode. Contone, Perl 5.010 ngenalake tembung kunci anyar "ngomong", nanging amarga kode sing wis ana bisa nggunakake fungsi sing dijenengi "ngomong", dhukungan kanggo tembung kunci anyar mung diaktifake kanthi nemtokake pragma "fitur gunakake 'ngomong'" kanthi jelas.

Sintaks anyar sing ditambahake ing basa kasebut, sing nalika diproses ing rilis sadurunge nyebabake kesalahan, langsung kasedhiya tanpa perlu nemtokake pragma khusus. Contone, Perl 5.36 bakal ngenalake sintaks sing disederhanakake kanggo ngolah sawetara nilai dhaptar bebarengan ("foreach my ($key, $value) (%hash) {") sing bakal langsung kasedhiya, sanajan ing kode tanpa "nggunakake". v5.36” pragma.

Ing wangun saiki, Perl 5.36 nggunakake pragma "nggunakake v5.36" kanggo ngaktifake 13 fitur interoperabilitas-breaking ('ngomong', 'state', 'current_sub', 'fc', 'lexical_subs', 'signatures', 'isa ', ' bareword_filehandles', 'bitwise', 'evalbytes', 'postderef_qq', 'unicode_eval' lan 'unicode_strings'), ngaktifake mode "nggunakake sing ketat" lan "nggunakake bebaya" kanthi standar lan mateni dhukungan kanggo notasi ora langsung warisan kanggo nelpon obyek (nalika tinimbang "- >" nggunakake spasi) lan Perl 4 gaya array multidimensional lan hash ("$ hash{1, 2}").

Nalika owah-owahan cukup wis nglumpukake, tinimbang release sabanjurΓ© Perl 5.x, versi Perl 7.0 bakal kui, kang bakal dadi jenis gambar asli seko negara, nanging bakal tetep kanthi mundur kompatibel karo Perl 5. Kanggo ngaktifake owah-owahan lan setelan. sing kompatibilitas break, sampeyan kudu tegas nambah pragma "nggunakake v7" kanggo kode. Sing. kode karo "nggunakake v7" pragma bisa dianggep minangka "Perl modern", kang kompatibilitas-bejat owahan basa kasedhiya, lan tanpa - "Perl konservatif", kang bakal tetep kanthi mundur kompatibel karo rilis kepungkur.

Source: opennet.ru

Add a comment