Perl 5.36.0 reo hōtaka e wātea ana

I muri i te tau o te whakawhanaketanga, kua whakaputaina te tukunga o te peka hou o te reo kaupapa Perl - 5.36 -. I roto i te whakarite i te tukunga hou, tata ki te 250 mano nga rarangi o te waehere i whakarerekehia, ko nga huringa i pa ki nga konae 2000, me nga kaiwhakawhanake 82 i uru ki te whanaketanga.

Ko te Peka 5.36 i tukuna i runga i te raarangi whanaketanga kua whakamanahia i nga tau e iwa ki muri, e tohu ana kia tukuna nga manga pumau hou kotahi i te tau me nga tuku whakatika ia toru marama. I roto i te marama kotahi, kua whakamaheretia ki te tuku i te tuku whakatika tuatahi o Perl 5.36.1, ka whakatika i nga hapa tino nui i kitea i te wa o te whakatinanatanga o Perl 5.36.0. I te taha o te tukunga o Perl 5.36, i whakamutua te tautoko mo te peka 5.32, ka taea te tuku i nga whakahoutanga a muri ake nei mena ka kitea nga raru haumarutanga nui. Ko te tukanga o te whakawhanake i te peka whakamatautau 5.37 kua timata ano, i runga i te kaupapa ka hangaia he tuku pumau o Perl 2023 i te marama o Mei, i te Hune ranei 5.38, mena ka whakatauhia kia huri ki te nama 7.x.

Huringa matua:

  • Ko te tautoko mo nga hainatanga mahi kua whakapumauhia, kei te waatea inaianei i te wa e tohu ana i te "whakamahi v5.36" pragma, ka taea e koe te tautuhi i te rarangi o nga taurangi e whakamahia ana i roto i te mahi me te whakaaunoa i nga mahi tirotiro me te whakatau i nga uara mai i te huinga tawhā taumai. Hei tauira, ko te waehere i whakamahia i mua: sub foo { mate "He maha rawa nga tautohetohe mo te mahi-a-roto" mena ka @_ >= 2; mate "He iti rawa nga tautohe mo te mahi-roto" ki te kore @_ <= 2; taku($maui, $matau) = @_; whakahokia $maui + $matau; }

    ina whakamahi hainatanga, ka taea te whakakapi e:

    sub foo ($maui, $matau) { hoki mai $maui + $matau; }

    Mena ka karanga koe i te foo me nga tautohetohe neke atu i te rua, ka whiua e te kaiwhakamaori he hapa. Ka tautokohia e te rarangi tetahi taurangi motuhake "$", ka taea e koe te wareware i etahi o nga tohenga, hei tauira, "sub foo ($maui, $, $matau)" ka taea e koe te kape i nga tohenga tuatahi me te tuatoru ki nga taurangi. , i te mea e toru tika me tuku ki te tautohe mahi.

    Ko te wetereo hainatanga ka taea e koe te tautuhi i nga tohenga whiriwhiri me te tohu uara taunoa mena kei te ngaro tetahi tautohe. Hei tauira, ma te tohu "sub foo ($maui, $matau = 0)" ka noho kowhiria te tohenga tuarua, a, ki te ngaro, ka paahitia te uara 0. I roto i te mahi taumahi, ka taea e koe te tautuhi i nga korero rereke, tae atu ki te whakamahi i etahi atu taurangi. mai i te rarangi, taurangi ao ranei. Ma te tautuhi i te hash, huānga ranei hei utu mo te taurangi (hei tauira, "sub foo ($maui, @matau)") ka whakaaetia kia tukuna tetahi, neke atu ranei nga tohenga.

  • I roto i nga mahi i whakapuakihia ma te hainatanga, ko te tautoko mo te taumahi tawhā kowhiringa mai i te huinga "@_" ka kiia he whakamatautau ka puta he whakatupato (ka tukuna te whakatupato mena ka whakamahia te @_ ki nga mahi i whakapuakihia ma te wetereo hou). Hei tauira, ka whakaatuhia he whakatupato mo te mahi: whakamahi v5.36; sub f ($x, $y = 123) { say "Ko te tautohe tuatahi ko $_[0]"; }
  • Ka noho pumau me te waatea ina tohuhia te "whakamahia v5.36" pragma, te infix operator "isa" hei tirotiro mena he ahanoa he tauira o te karaehe kua tohua, he karaehe ranei i ahu mai i a ia. Hei tauira: if( $obj isa Package::Ingoa ) { … }
  • Ina tohua te "whakamahi v5.36" pragma, ka whakahohehia te tukatuka whakatupato (ka whakahohehia te aratau "whakamahi whakatupato").
  • I te wa e tohu ana i te "whakamahi v5.36" pragma, ka whakakorehia te tautoko mo te tuhi korero mo te waea taonga ("ahuatanga autaki") - he huarahi tawhito mo te waea taonga, ka whakamahia he waahi hei utu mo te "->" ("tikanga $ ahanoa @param” hei utu mo “$object-> $method(@param)"). Hei tauira, hei utu mo “taku $cgi = CGI hou” me whakamahi koe “taku $cgi = CGI->hou”.
  • I te wa e tohu ana i te "whakamahi v5.36" pragma, ka monokia te tautoko mo te whakatauira i nga rarangi ahu maha me nga hashes i roto i te ahua Perl 4 ("ahuatanga multidimensional"), ka taea te whakamaori i nga tohu maha o nga taviri ki roto i te rarangi takawaenga (hei tauira, " $hash{1, 2}”) i hurihia ki "$hash{join ($;, 1, 2)}").
  • I te wa e tohu ana i te "whakamahi v5.36" pragma, ka whakakorehia te tautoko mo te tikanga whakamaaramatanga ("whakawhiti ahua"), he rite ki te whakawhiti me nga korero keehi, kua monoa (Ka whakamahi a Perl i nga kupumatua kua homai me te wa). Hei whakamahi i tenei ahuatanga, timata mai i te Perl 5.36, me tino tohu koe 'whakamahia te ahua "whakawhiti"', a ki te tohua e koe "putanga whakamahi", ka kore e whakahoe aunoa.
  • Ko te tautoko mo etahi atu karaehe kiripuaki i roto i nga taiapa tapawha i roto i nga whakaaturanga auau kua whakapumauhia, ka watea ma te taunoa. Ko te ahuatanga ka taea e koe te mahi i nga whakataetae ma te whakamahi i nga ture matatau mo te whitinga, te whakakore, me te whakakotahitanga o nga huinga tohu. Hei tauira, '[AZ - W]' - pūāhua mai i A ki Z hāunga W.
  • Ko te tautoko mo nga mahi "(?", "( )", "{ }" me "[ ]" kua whakapumauhia tetahi waahanga me te waatea noa; ka taea e koe te whakamahi i nga tohu "" "", "" "", me etahi atu. Hei tauira , "qr"pat "".
  • Ka rahuitia te karanga i te mahi ahua me te kore tautohetohe, ka puta he hapa. @a = kōmaka @kore; # ka haere tonu @a = sort; # he hapa ka taia @a = sort(); # he hapa ka taia
  • He kara raina whakahau hou "-g" kua tohua, ka taea te aratau ki te uta i te katoa o te konae, kaua ki te raina ma te raina. Ko te mahi o te haki he rite ki te tohu "-0777".
  • Ko te tautoko mo te tohu Unicode kua whakahoutia ki te putanga 14.0.
  • Ka whakarato i te whakahaerenga inamata mo nga tuunga ira maanu (SIGFPE) he rite ki etahi atu whakaoho penei i te SIGSEGV, ka taea e koe te here i o ake kaikawe mo te SIGFPE ma te $SIG{FPE}, hei tauira te whakaputa i te nama raina i puta ai te raru.
  • Nga putanga whakahōu o ngā kōwae kei roto i te mōkihi taketake.
  • Kua taapirihia nga arotautanga mahi. Kua whakaratohia te kaha ki te penapena i nga taviri hash nui me te kore e whakamahi i nga ripanga aho tiritahi. Ko te mahinga o te hanga uara scalar hou kua tino pai ake, hei tauira ko te waehere e whai ake nei ka tere ake te 30%: $str = "A" x 64; mo (0..1_000_000) { @svs = wehe //, $str }
  • I timata te waehere kaiwhakamaori ki te whakamahi i etahi o nga hanganga kua tautuhia ki te paerewa C99. Ko te hanga Perl inaianei me hiahia he kaikohikohi e tautoko ana i te C99. Ko te tautoko mo te hanga i roto i nga putanga tawhito o MSVC++ (mua-VC12) kua whakamutua. He tautoko taapiri mo te hanga i roto i te Microsoft Visual Studio 2022 (MSVC++ 14.3).
  • Ko te tautoko mo nga papaaho AT&T UWIN, DOS/DJGPP me Novell NetWare kua whakamutua.

Source: opennet.ru

Tāpiri i te kōrero