Perl 5.36.0 puo ea lenaneo e fumaneha

Ka mor'a selemo sa nts'etsopele, ho lokolloa ha lekala le lecha le tsitsitseng la puo ea lenaneo la Perl, 5.36, le hatisitsoe. Ha ho lokisetsoa tokollo e ncha, mela e ka bang likete tse 250 ea khoutu e fetotsoe, liphetoho li ile tsa ama lifaele tsa 2000, bahlahisi ba 82 ba nkile karolo ho nts'etsopele.

Lekala la 5.36 le lokolloa ho latela kemiso e tsitsitseng ea ntlafatso e amohetsoeng lilemong tse robong tse fetileng, e bolelang ho lokolloa ha makala a macha a tsitsitseng hang ka selemo le tokollo ea tokiso likhoeling tse ling le tse ling tse tharo. Tokollo ea pele ea tokiso ea Perl 5.36.1 e reriloe hore e lokolloe ka nako e ka etsang khoeli, ho lokisa liphoso tsa bohlokoa ka ho fetisisa tse khethiloeng nakong ea ts'ebetsong ea Perl 5.36.0. Hammoho le ho lokolloa ha Perl 5.36, tšehetso bakeng sa lekala la 5.32 e ile ea theoha, e ka nchafatsoang feela nakong e tlang haeba mathata a bohlokoa a tšireletso a tsejoa. Ts'ebetso ea nts'etsopele ea lekala la liteko tsa 5.37 le eona e qalile, moo tokollo e tsitsitseng ea Perl 2023 e tla theha ka May kapa June 5.38, ntle le haeba ho etsoa qeto ea ho fallela ho 7.x numbering.

Liphetoho tsa bohlokoa:

  • Ts'ehetso ea li-signature tsa ts'ebetso e tsitsitse 'me e se e fumaneha ha ho hlakisoa "sebelisa v5.36" pragma, e u lumellang hore u hlalose ka ho hlaka lenane la mefuta-futa e sebelisoang ts'ebetsong le ho iketsetsa ts'ebetso ea ho lekola le ho fana ka boleng ho tsoa ho sehlopha. ea li-parameter tsa ho kenya. Mohlala, khoutu e sebelisitsoeng pejana: sub foo { die "Ho na le likhang tse ngata haholo bakeng sa subroutine" ntle le @_ >= 2; shoa "Likhang tse fokolang haholo bakeng sa subroutine" ntle le hore @_ <= 2; eaka($le letšehali, $le letona) = @_; khutlela $ ka ho le letšehali + $ ka ho le letona; }

    ha o sebelisa li-signature, e ka nkeloa sebaka ke:

    sub foo ($ ka ho le letšehali, $ ka ho le letona) {khutlisa $ ka ho le letšehali + $ ka ho le letona; }

    Ho bitsa foo ka likhang tse fetang tse peli ho tla etsa hore mofetoleli a etse phoso. Lethathamo le boetse le ts'ehetsa phetoho e khethehileng "$", e u lumellang ho iphapanyetsa tse ling tsa likhang, mohlala, "sub foo ($left, $, $right)" e tla u lumella ho kopitsa likhang tsa pele le tsa boraro feela. mefuta e fapaneng, ha e le hantle tse tharo khang.

    Syntax ea signature e boetse e u lumella ho hlakisa mabaka a boikhethelo le ho beha litekanyetso tsa kamehla haeba khang e le sieo. Mohlala, ka ho hlakisa "sub foo ($left, $right = 0)", khang ea bobeli e fetoha boikhethelo, 'me, ha e le sieo, ho fetisitsoe boleng ba 0. Polelo e sa reroang e ka hlalosoa ts'ebetsong ea kabelo, ho kenyelletsa le ho sebelisa. diphapang tse ding ho tloha lenaneng kapa diphapang tsa lefatshe. Ho hlakisa hashe kapa sehlopha ho e-na le ho feto-fetoha (mohlala, "sub foo ($left, @right)") ho tla etsa hore ho be le monyetla oa ho fetisa khang e le 'ngoe kapa ho feta.

  • Lits'ebetsong tse phatlalalitsoeng ho sebelisoa mesaeno, ts'ehetso ea kabelo e eketsehileng ea liparamente ho tsoa ho "@_" sehlopha se phatlalatsoa e le liteko 'me se tla fella ka temoso (temoso e fanoa feela haeba @_ e sebelisoa mesebetsing e phatlalalitsoeng ho sebelisoa syntax e ncha). Ka mohlala, temoso e tla fanoa bakeng sa mosebetsi: sebelisa v5.36; sub f ($x, $y = 123) {re "Khang ea pele ke $_[0]"; }
  • E tsitsitse ebile e fumaneha ha ho hlalosoa "use v5.36" pragma, "isa" infix operator bakeng sa ho hlahloba hore na ntho ke mohlala oa sehlopha se boletsoeng kapa sehlopha se nkiloeng ho sona. Mohlala: haeba( $obj isa Sephutheloana::Name ) { … }
  • Ha o hlakisa "sebelisa v5.36" pragma, ts'ebetso ea litemoso e ea lumelloa (mokhoa oa "sebelisa litemoso" oa sebetsa).
  • Ha ho hlakisoa "sebelisa v5.36" pragma, tšehetso bakeng sa notation e sa tobang ea lintho tse bitsang ("tšobotsi e sa tobang") e holofalitsoe - mokhoa o sa sebetseng oa ho bitsa lintho, moo ho sebelisoang sebaka ho fapana le "->" ("mokhoa $ ntho @param" sebakeng sa "$object-> $method(@param)"). Mohlala, sebakeng sa "my $cgi = CGI e ncha" u tla sebelisa "my $cgi = CGI->new".
  • Ha ho hlakisoa "sebelisa v5.36" pragma, ts'ehetso ea ho etsisa li-multidimensional arrays le Perl 4-style hashes ("feature multidimensional") e ile ea tingoa, ea lumella linotlolo tse ngata hore li fetoleloe ho sehlopha sa mahareng (mohlala, "$hash{1 , 2}") e fetoletsoe ho "$hash{join($;, 1, 2)}").
  • "Sebelisa v5.36" pragma e tima ts'ehetso bakeng sa mochini oa liteko oa lekala ("feature switch") e ts'oanang le polelo ea switch le linyeoe (Perl o sebelisa mantsoe a bohlokoa a fanoeng le neng). Ho tloha ka Perl 5.36, o tlameha ho hlakisa ka ho hlaka 'sebelisa "switch"' ho sebelisa tšobotsi ena, 'me ho hlakisa "mofuta oa tšebeliso" ha ho sa tla hlola ho e nolofalletsa.
  • E tsitsitse ebile e fumaneha ka ts'ehetso ea kamehla bakeng sa lihlopha tse eketsehileng tsa litlhaku ka masakaneng a lisekoere ka har'a lipolelo tse tloaelehileng. Bokhoni bo lumella ho bapisa ho sebelisoa melao e atolositsoeng bakeng sa ho kopanya, ho kenyelletsa, le ho kopanya litlhaku tse ngata. Mohlala, '[AZ - W]' ke litlhaku ho tloha ho A ho ea ho Z ho sa kenyeletsoe W.
  • Ts'ehetso bakeng sa ts'ebetso "(?", "( )", "{ }" le “[ ] " e tsitsitse hanyenyane 'me e fumaneha ka mokhoa oa kamehla. U ka sebelisa litlhaku """, "" "", joalo-joalo "" .
  • Ho thibetsoe ho bitsa mosebetsi oa mofuta ntle le likhang, e leng hona joale e tla lebisa tlhahiso ea phoso. @a = hlopha @e se nang letho; # tsoela pele @a = mofuta; # e tla lahlela phoso @a = mofuta (); # phoso e tla hlaha
  • Ho entsoe tlhahiso e ncha ea mola oa taelo "-g", e lumellang mokhoa oa ho khoasolla faele eohle, ho fapana le mola ka mola. Folakha e na le phello e tšoanang le "-0777".
  • Ts'ehetso ea litlhaloso tsa Unicode e ntlafalitsoe hore e be mofuta oa 14.0.
  • Instant floating point exception (SIGFPE) e ts'oanang le lialamo tse ling tse joalo ka SIGSEGV e fanoe, e lumellang litšoantšiso tsa tloaelo hore li khomarele letšoao la SIGFPE ka $SIG{FPE}, mohlala ho hlahisa nomoro ea mohala moo bothata bo etsahetseng.
  • Mefuta e ntlafalitsoeng ea li-module tse kenyellelitsoeng kabong ea mantlha.
  • Lintlafatso tsa ts'ebetso li ekelitsoe. Bokhoni ba ho boloka linotlolo tse kholo tsa hash ka katleho, ntle le tšebeliso ea litafole tsa likhoele tse arolelanoang, li fanoa. Ts'ebetso ea ho theha litekanyetso tse ncha tsa scalar e ntlafalitsoe haholo, mohlala, khoutu e latelang e se e le 30% ka potlako: $ str = "A" x 64; bakeng sa (0..1_000_000) { @svs = petsoha //, $str }
  • Khoutu ea mofetoleli e ile ea qala ho sebelisa tse ling tsa meaho e hlalositsoeng maemong a C99. Building Perl hona joale e hloka compiler e tšehetsang C99. Tšehetso ea kopano e theohile liphetolelong tsa khale tsa MSVC ++ (pele ho VC12). Ts'ehetso ea kopano e ekelitsoeng ho Microsoft Visual Studio 2022 (MSVC++ 14.3).
  • Tšehetso bakeng sa liforomo tsa AT&T UWIN, DOS/DJGPP, le Novell NetWare li theohile.

Source: opennet.ru

Eketsa ka tlhaloso