Perl 5.36.0 akwai yaren shirye-shirye

Bayan shekara guda na ci gaba, an buga wani sabon reshe na barga na harshen shirye-shiryen Perl - 5.36 - an buga shi. A cikin shirya sabon saki, game da 250 dubu Lines code aka canza, da canje-canje shafi 2000 fayiloli, da kuma 82 developers sun shiga cikin ci gaban.

An fitar da reshe na 5.36 daidai da ƙayyadaddun jadawalin ci gaban da aka amince da shi shekaru tara da suka gabata, wanda ke nuna sakin sabbin rassa tabbatattu sau ɗaya a shekara da sake gyarawa kowane wata uku. A cikin kusan wata guda, ana shirin sakin sakin gyara na farko na Perl 5.36.1, wanda zai gyara manyan kurakuran da aka gano yayin aiwatar da Perl 5.36.0. Tare da sakin Perl 5.36, an dakatar da goyan bayan reshe na 5.32, wanda za a iya fitar da sabuntawa nan gaba kawai idan an gano matsalolin tsaro masu mahimmanci. Hakanan an fara aiwatar da tsarin haɓaka reshen gwaji na 5.37, a kan abin da za a samar da tsayayyen sakin Perl 2023 a cikin Mayu ko Yuni 5.38, sai dai idan an yanke shawarar canzawa zuwa lamba 7.x.

Canje-canje masu mahimmanci:

  • Taimako don sa hannu na aiki an daidaita shi kuma yana samuwa yanzu lokacin da aka ƙayyade "amfani v5.36" pragma, yana ba ku damar ayyana jerin masu canji da aka yi amfani da su a cikin aikin da sarrafa sarrafa ayyukan dubawa da sanya ƙima daga tsararrun sigogi masu shigowa. Misali, lambar da aka yi amfani da ita a baya: sub foo { mutu "Yawan gardama don ƙaranci" sai dai idan @_>= 2; mutu "Kwanan gardama don subroutine" sai dai idan @_ <= 2; na($hagu, $dama) = @_; komawa $ hagu + $ dama; }

    lokacin amfani da sa hannu, ana iya maye gurbinsa da:

    sub foo ($hagu, $dama) {koma $hagu + $dama; }

    Idan ka kira foo da fiye da gardama biyu, mai fassara zai jefa kuskure. Lissafin kuma yana goyan bayan maɓalli na musamman "$", wanda ke ba ku damar yin watsi da wasu gardama, misali, "sub foo ($ hagu, $, $ dama)" zai ba ku damar kwafi kawai muhawara ta farko da ta uku zuwa masu canji. , yayin da daidai uku dole ne a wuce zuwa ga hujjar aiki.

    Har ila yau, tsarin sa hannu yana ba ku damar ƙididdige muhawara na zaɓi da kuma ƙididdige ƙimar tsoho idan hujja ta ɓace. Misali, ta hanyar tantance "sub foo ($ hagu, $ dama = 0)" hujja ta biyu ta zama na zaɓi kuma idan ba ya nan, ƙimar 0 ta wuce. daga jerin ko masu canji na duniya. Ƙayyade zanta ko tsararru maimakon mabambanta (misali, "sub foo ($ hagu, @ dama)") zai ba da damar yin muhawara ɗaya ko fiye.

  • A cikin ayyukan da aka ayyana ta amfani da sa hannu, tallafi don aikin siga na zaɓi daga tsararrun "@_" an ayyana gwaji ne kuma zai haifar da faɗakarwa (an ba da gargaɗin ne kawai idan aka yi amfani da @_ a ayyukan da aka ayyana ta amfani da sabon haɗin gwiwa). Misali, za a nuna gargadi don aikin: yi amfani da v5.36; sub f ($x, $y = 123) {ce "Hujja ta farko ita ce $_[0]"; }
  • An daidaita kuma akwai lokacin tantance pragma "amfani v5.36", mai aiki da infix "isa" don duba ko wani abu misali ne na ƙayyadadden aji ko aji da aka samo daga gare ta. Misali: idan ( $ obj isa Kunshin :: Suna ) {… }
  • Lokacin tantance pragma na “amfani v5.36”, ana kunna aikin faɗakarwa (yanayin “gargaɗin amfani” yana kunna).
  • Lokacin ƙayyade pragma "amfani v5.36", goyan bayan bayanin kai tsaye don kiran abubuwa ("fasalin kai tsaye") ba shi da rauni - tsohuwar hanyar kiran abubuwa, wanda ake amfani da sarari maimakon "->" ("hanyar $ abu @param" maimakon "$ abu-> Hanyar $ (@param)"). Misali, maimakon "na $cgi = sabon CGI" kuna buƙatar amfani da "$cgi na = CGI-> sabo".
  • Lokacin ƙayyade pragma na “amfani v5.36”, tallafi don yin koyi da tsararraki masu yawa da hashes a cikin salon Perl 4 (“fasalin multidimensional”) an kashe, yana barin nunin maɓalli da yawa da za a fassara su cikin tsararru na tsaka-tsaki (misali, “ $hash{1, 2}”) an canza shi zuwa "$hash{join($;, 1, 2)}").
  • Lokacin ƙayyade pragma na "amfani da v5.36", goyon bayan tsarin reshen gwaji ("sake fasalin"), kama da sauyawa da maganganun maganganu, an kashe (Perl yana amfani da abin da aka bayar da lokacin da mahimmin kalmomi). Don amfani da wannan fasalin, farawa da Perl 5.36, dole ne ku bayyana a sarari 'amfani da fasalin ''switch'', kuma idan kun saka "sigar amfani", ba za a ƙara kunna ta ta atomatik ba.
  • Taimako don ƙarin azuzuwan ɗabi'a a cikin madaidaicin madaidaicin madaidaicin a cikin maganganun yau da kullun an daidaita kuma ana samun su ta tsohuwa. Siffar tana ba ku damar yin ashana ta amfani da ƙa'idodi na ci gaba don tsaka-tsaki, keɓancewa, da ƙungiyar saitin haruffa. Misali, '[AZ - W]' - haruffa daga A zuwa Z ban da W.
  • Taimakon ayyukan "(?", "()", "{ }" da "[]" an daidaita shi a wani bangare kuma ana samun su ta tsohuwa; zaka iya amfani da alamomin """", """, da sauransu. Misali. , "qr" bat ".
  • An haramta kiran nau'in aikin ba tare da gardama ba, wanda yanzu zai haifar da kuskure. @a = irin @empty; # zai ci gaba @a = nau'i; # za a buga kuskure @a = irin(); # za a buga kuskure
  • An gabatar da sabon tutar layin umarni "-g", wanda ke ba da damar yanayin loda dukkan fayil ɗin gaba ɗaya, maimakon layi ta layi. Ayyukan tuta sunyi kama da alamar "-0777".
  • An sabunta goyan bayan ƙayyadaddun Unicode zuwa sigar 14.0.
  • Yana ba da kulawa nan take na keɓancewar wurin iyo (SIGFPE) kama da sauran ƙararrawa kamar SIGSEGV, yana ba ku damar ɗaure masu sarrafa ku don SIGFPE ta $SIG{FPE}, misali fitar da lambar layin inda matsalar ta faru.
  • Sabbin nau'ikan kayayyaki da aka haɗa a cikin ainihin fakitin.
  • Ƙara inganta ayyukan aiki. An samar da ikon adana manyan maɓallan zanta da kyau ba tare da amfani da tebur na kirtani ɗaya ba. An inganta aikin ƙirƙirar sabbin ƙima mai ƙima, alal misali lambar mai zuwa yanzu tana tafiyar da 30% cikin sauri: $str = "A" x 64; don (0..1_000_000) {@svs = tsaga //, $str }
  • Lambar fassarar ta fara amfani da wasu ginin da aka ayyana a ma'aunin C99. Gina Perl yanzu yana buƙatar mai tarawa wanda ke goyan bayan C99. An dakatar da goyan bayan gini a cikin tsofaffin nau'ikan MSVC++ (pre-VC12). Ƙara goyon baya don ginawa a cikin Microsoft Visual Studio 2022 (MSVC++ 14.3).
  • An daina goyan bayan AT&T UWIN, DOS/DJGPP da Novell NetWare dandamali.

source: budenet.ru

Add a comment