Perl 7 umenyezelwe

Engqungqutheleni yanamuhla yonjiniyela be-Perl Language kumenyezelwe iphrojekthi ye-Perl 7 ezoqhubeka ngokushelela ukuthuthukiswa kwegatsha le-Perl 5 ngaphandle kokwenza izinguquko ezinkulu. I-Perl 7 izokhishwa okufanayo Perl 5.32.0, ngaphandle kwezinye izilungiselelo ezizenzakalelayo ezihambisana kakhulu nezinqubo zokuthuthukisa zesimanje. Uma kungenjalo, i-Perl 7 izohlala ifana ne-Perl 5 futhi izohlala ihambisana nezinhlelo zokusebenza ezenziwe ngaphambilini.

Ushintsho olubalulekile lwenombolo yenguqulo luzosebenza njengohlobo lwesihlukanisi sokushintshela kumodeli entsha ukuze kukhuliswe ukusebenza kolimi lwe-Perl ngaphandle kokwephulwa okuphawulekayo kokuhambisana okubuyela emuva.
Ukukhishwa kwe-Perl 7 kulindeleke ukuthi kusize ukuheha onjiniyela abasha ku-Perl futhi kusize ukuhlela inqubo yokwengeza izici ezintsha ezibalulekile olimini kuyilapho kugcinwa ukuhambisana nesisekelo sekhodi yamaphrojekthi akhona. Inombolo 7 yakhethwa ngoba iPerl 6 yasetshenziswa ukuthuthukisa ulimi oluyimanje iyathuthuka ngaphansi kwegama elihlukile elithi Raku. Ukukhishwa kokuqala kwePerl 7 kulindeleke ngonyaka ozayo. Igatsha le-Perl 5.32 kuzoba elokugcina ochungechungeni lwe-Perl 5 futhi kuhlelwe ukuthi lisekelwe iminyaka emi-5 kuye kweyi-10.

Ushintsho oluphawuleka kakhulu ku-Perl 7 ukufakwa kwe "okuqinile“, okusho ukuthi kubhekwe ngokuqinile izimemezelo eziguquguqukayo, ukusetshenziswa kwezikhombi ezingokomfanekiso kanye nezabelo ezingaphansi. Ukusebenzisa "ukusebenzisa okuqinile" kuyindlela enhle futhi kusetshenziswa onjiniyela abaningi. Ngokufanayo, ngokuzenzakalelayo bahlela ukunika amandla ukucutshungulwa kwesixwayiso (“sebenzisa izixwayiso").

I-Perl 7 futhi inethemba lokuzinzisa futhi inike amandla ngokuzenzakalelayo ezinye izici zokuhlola ezivele zikhona, njenge amasignesha omsebenzi (“sebenzisa isici esithi 'amasiginesha'”), okuvumela, lapho kuchazwa umsebenzi, ukunquma ama-agumenti angenayo bese uhlola ngokuzenzakalelayo inombolo yawo (ungabhala ukuthi “sub foo ($left, $right) {” esikhundleni sokuthi “sub foo { yami($kwesokunxele, $kwesokudla) ) = @_;"). Bahlela ukufaka ngokuzenzakalelayo usekelo lwe-opharetha ye-“isa” ukuze bahlole ukuthi into iyisibonelo sesigaba esithile noma isigaba esithathwe kuso (“uma( $obj isa Iphakheji::Igama)”, kanye nokuhoxiswa kwe-postfix. imisebenzi (postderef) “$ sref->$*" esikhundleni sika-"${$sref }", "$aref->@*" esikhundleni sika-"@{ $aref }" kanye ne-"$href->%{ ... }" esikhundleni sokuthi "%$href{ ... } "

Izimbangi zokukhutshazwa ngokuzenzakalela ku-Perl 7 yilezi:

  • Isaziso sokushaya into engaqondile ("asikho isici qw(ngokungaqondile)") iyindlela yefa yokubiza izinto, kusetshenziswa isikhala esikhundleni sika-"->" ("indlela $object @param" esikhundleni sokuthi "$object->$method(@param)"). Isibonelo, esikhundleni sokuthi "my $cgi = CGI entsha" uzosebenzisa njalo "my $cgi = CGI->new".
  • Izichazi zefayela ezingenalutho ezingenazo izimemezelo eziguquguqukayo ("alikho igama elingenalutho::filehandle") - ukusebenzisa izakhiwo ezinjengokuthi "vula i-FH, $file" kuzoholela ephutha, udinga ukusebenzisa "vula i-$fh yami, ifayela le-$". Ushintsho ngeke luthinte izichazi zefayela ezijwayelekile ze-STDIN, STDOUT, STDERR, ARGV, ARGVOUT kanye neDATA.
  • Perl 4 isitayela dummy multidimensional arrays kanye hashes ("akukho multidimensional").
    Isibonelo, ukucacisa okuthi “$hash{1, 2}” kuzoholela ephutheni; udinga ukusebenzisa amalungu afanayo amaphakathi, isibonelo “$hash{join($;, 1, 2)}”.

  • Ukumemezela ama-prototypes ngesitayela se-Perl 4 (udinga ukusebenzisa "sebenzisa :prototype()").

Ezinhlelweni ezikude kakhulu, balindele ukunika amandla ukusekelwa kwe-Unicode ngokuzenzakalelayo, okuzosindisa abathuthukisi ekucaciseni "sebenzisa utf8" kukhodi. Kumamojula nezikripthi ezinezinkinga ngezilungiselelo ezizenzakalelayo ezintsha, kungenzeka ukuthi ubuyele ekuziphatheni kwe-Perl 5 ngokwengeza umugqa othi "use compat::perl5" kukhodi. Izilungiselelo ngazinye nazo zizolondolozwa futhi zingashintshwa ngazinye.

Source: opennet.ru

Engeza amazwana