Gjuha e programimit Perl 5.42 është e disponueshme

Pasi njĂ« vit zhvillim, Ă«shtĂ« publikuar publikimi i degĂ«s sĂ« re stabile tĂ« gjuhĂ«s sĂ« programimit Perl — 5.42. GjatĂ« pĂ«rgatitjes sĂ« kĂ«tij versioni u ndryshuan rreth 280 mijĂ« rreshta kodi (pa dokumentacionin dhe kodin e gjeneruar automatikisht — 93 mijĂ«), ndryshimet prekĂ«n 1500 skedarĂ«, dhe nĂ« zhvillim morĂ«n pjesĂ« 64 zhvillues.

Dega 5.42 Ă«shtĂ« lĂ«shuar sipas njĂ« programi tĂ« miratuar dymbĂ«dhjetĂ« vjet mĂ« parĂ«, qĂ« parashikon lĂ«shimin e degĂ«ve tĂ« reja stabile çdo vit dhe lĂ«shimeve korrigjuese — çdo tre muaj. Rreth njĂ« muaj mĂ« vonĂ« planifikohet tĂ« lĂ«shohet lĂ«shimi i parĂ« korrigjues Perl 5.42.1, nĂ« tĂ« cilin do tĂ« korrigjohen gabimet mĂ« tĂ« rĂ«ndĂ«sishme tĂ« zbuluara gjatĂ« implementimit tĂ« Perl 5.42.0. NĂ« tĂ« njĂ«jtĂ«n kohĂ« me daljen e Perl 5.42, mbĂ«shtetje pĂ«r dega 5.38 Ă«shtĂ« ndalur, pĂ«r tĂ« cilĂ«n pĂ«rditĂ«sime mund tĂ« lĂ«shohen nĂ« tĂ« ardhmen vetĂ«m nĂ« rast se zbulohet ndonjĂ« problem kritik me sigurinĂ«. NĂ« tĂ« ardhmen e afĂ«rt do tĂ« fillojĂ« procesi i zhvillimit tĂ« degĂ«s eksperimentale 5.43, mbi tĂ« cilĂ«n nĂ« qershor tĂ« vitit 2026 do tĂ« formohet njĂ« lĂ«shim stabil Perl 5.44, nĂ«se nuk merret njĂ« vendim pĂ«r tĂ« kaluar nĂ« numĂ«rimin 7.x.

Ndryshimet kryesore:

  • Shtohen operatorĂ« eksperimentalĂ« pĂ«r pĂ«rpunimin e listave — «any { BLOCK } @list» dhe «all { BLOCK } @list», tĂ« cilat janĂ« tĂ« ngjashme me operatorin «grep { BLOCK } @list», por mund tĂ« kthejnĂ« vetĂ«m vlerat true ose false. OperatorĂ«t «all» kthen «true» nĂ«se kushti pĂ«rmbushet pĂ«r tĂ« gjithĂ« elementĂ«t e listĂ«s, ndĂ«rsa operatori «any» pĂ«rmbush kushtin pĂ«r ndonjĂ« element. Funksionaliteti i operatorĂ«ve Ă«shtĂ« i ngjashĂ«m me funksionet nga moduli List::Util, por variantet e integruara janĂ« mĂ« tĂ« shpejta dhe konsumojnĂ« mĂ« pak memorie. use v5.42; use feature ‘keyword_all’; no warnings ‘experimental::keyword_all’; my @numbers = 
 if ( all { $_ % 2 == 0 } @numbers ) { say «TĂ« gjithĂ« numrat janĂ« çift»; }
  • PĂ«r fushat e pĂ«rcaktuara brenda klasĂ«s Ă«shtĂ« realizuar atributi «:writer», i cili aplikohet pĂ«r tĂ« krijuar automatikisht njĂ« metodĂ« qĂ« shkruan vlerĂ«n e variablĂ«s nĂ« fushĂ« pĂ«r instancĂ«n aktuale tĂ« klasĂ«s. class Point { field $x :reader :writer :param; field $y :reader :writer :param; } my $p = Point->new( x => 20, y => 40 ); $p->set_x(60);
  • Shtuar mbĂ«shtetje pĂ«r pĂ«rcaktimin e metodave leksikore, tĂ« cilat me analogji me pĂ«rcaktimin e nĂ«nprogrameve leksikore («lexical_subs»), lejojnĂ« krijimin e metodave qĂ« janĂ« tĂ« disponueshme vetĂ«m brenda fushĂ«s leksikore tĂ« bllokut ku ata janĂ« krijuar. PĂ«r tĂ« krijuar metoda tĂ« tilla pĂ«rdoret shprehja «my emri_i_metodĂ«s».
  • Shtuar operatori «->&», i cili lejon thirrjen e nĂ«nprogrameve qĂ« ndodhen nĂ« fushĂ«n leksikore, ashtu siç do ishin metoda. NĂ« kombinim me mundĂ«sinĂ« e pĂ«rcaktimit tĂ« metodave leksikore, operatori i ri realizon funksionalitet tĂ« ngjashĂ«m me metodat private.
  • Shtuar operatori i caktimit «A ^^= B», i cili kryen operacionin «A = A XOR B».
  • ËshtĂ« shtuar pragma «source::encoding», e cila pĂ«rcakton kodimin e kodit burimor. PĂ«r kodin nĂ« kodimin ASCII, mund tĂ« specifikohet «use source::encoding ‘ascii'» (default), dhe pĂ«r UTF-8 — «use source::encoding ‘utf8â€Č», ku kjo e fundit Ă«shtĂ« ekuivalente me «use utf8». Interpretor do tĂ« nxjerrĂ« njĂ« gabim nĂ«se nĂ« kodin e shĂ«nuar si ASCII ka karaktere UTF-8, ose nĂ«se nĂ« kodin e shĂ«nuar si UTF-8 pĂ«rdoren sekuenca escape «\x{}». PĂ«r tĂ« çaktivizuar kontrollin e pjesĂ«s sĂ« kodit, mund tĂ« pĂ«rdoret vlera «use no source::encoding». NĂ« praktikĂ«, pragma e shtuar mund tĂ« jetĂ« e dobishme pĂ«r tĂ« identifikuar rastet kur zhvilluesi harron tĂ« specifikojĂ« «use utf8» pĂ«r kodin nĂ« kodimin UTF-8.
  • NĂ« hapĂ«sirĂ«n e emrave «CORE::» Ă«shtĂ« shtuar funksioni chdir(). PĂ«r shembull, tani kjo funksion mund tĂ« thirret si «&CORE::chdir($dir)» ose «my $ref = \&CORE::chdir; $ref->($dir)».
  • Shto Ă«shtĂ« shtuar shprehja ‘no feature «apostrophe_as_package_separator»‘ pĂ«r tĂ« çaktivizuar mbĂ«shtetje pĂ«r pĂ«rdorimin e simbolit » ‘ » si ndarĂ«s emrash paketash (p.sh., «My’Module’Var» nĂ« vend tĂ« «My::Module::Var»). Fillimisht nĂ« Perl 5.42 ishte planifikuar tĂ« hiqej mbĂ«shtetja pĂ«r kĂ«to ndarĂ«s, tĂ« cilĂ«t mĂ« parĂ« ishin shpallur tĂ« vjetruar, por gjatĂ« diskutimeve u vendos qĂ« tĂ« ruhej kjo mundĂ«si si parazgjedhje, duke parashikuar njĂ« opsion pĂ«r çaktivizim.
  • Funksionaliteti «switch» dhe operatori «~~» janĂ« pĂ«rfshirĂ« nĂ« numrin e mundĂ«sive tĂ« rikthyera, tĂ« cilat mĂ« parĂ« ishin shĂ«nuar si tĂ« vjetruara dhe ishin planifikuar pĂ«r t'u eliminuar. Duke filluar nga lĂ«shimet Perl 5.36 dhe 5.42 mundĂ«sitĂ« «switch» dhe «~~» janĂ« tĂ« çaktivizuara si parazgjedhje kur lidhni kodin me versionet e gjuhĂ«s (p.sh., kur especificoni «use v5.42»), por mund tĂ« aktivizohen me shprehjet ‘use feature «switch»‘ dhe ‘use feature «smartmatch»‘.
  • Shtuar mbĂ«shtetje pĂ«r specifikimin Unicode 16.0.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster