Misy fiteny fandaharana Perl 5.36.0

Taorian'ny herintaona nanaovana ny fampandrosoana dia navoaka ny sampana stable vaovao amin'ny fiteny fandaharana Perl - 5.36. Tamin'ny fanomanana ny famoahana vaovao, manodidina ny 250 andalana code no niova, ny fanovana dia nisy fiantraikany tamin'ny rakitra 2000, ary ny developer 82 no nandray anjara tamin'ny fampandrosoana.

Sampana 5.36 dia navoaka araka ny fandaharam-pampandrosoana raikitra nankatoavina sivy taona lasa izay, izay midika fa ny famoahana sampana stable vaovao indray mandeha isan-taona sy ny famoahana fanitsiana isaky ny telo volana. Ao anatin'ny iray volana eo ho eo, dia mikasa ny hamoaka ny famoahana fanitsiana voalohany ny Perl 5.36.1, izay hanitsy ny fahadisoana lehibe indrindra hita nandritra ny fampiharana ny Perl 5.36.0. Miaraka amin'ny famoahana ny Perl 5.36, dia natsahatra ny fanohanana ny sampana 5.32, izay mety havoaka ny fanavaozana ho avy raha tsy misy ny olana ara-piarovana. Nanomboka ihany koa ny dingan'ny fampivoarana ny sampana andrana 5.37, izay mifototra amin'ny famoahana ny Perl 2023 miorina amin'ny volana Mey na Jona 5.38, raha tsy misy fanapahan-kevitra hifindra amin'ny laharana 7.x.

Fanovana lehibe:

  • Ny fanohanana ny sonia fiasana dia niorina ary azo alaina ankehitriny rehefa mamaritra ny pragma "mampiasa v5.36", ahafahanao mamaritra mazava tsara ny lisitry ny fari-pahalalana ampiasaina amin'ny fiasa ary manara-maso ny fiasan'ny fanamarinana sy ny fanomezana soatoavina avy amin'ny laharan-tariby. paramΓ¨tre miditra. Ohatra, code efa nampiasaina taloha: sub foo { die "Too many arguments for subroutine" raha tsy hoe @_ >= 2; maty "Fomba hevitra vitsy loatra ho an'ny subroutine" raha tsy hoe @_ <= 2; ny($ankavia, $ankavanana) = @_; miverina $ havia + $ havanana; }

    rehefa mampiasa sonia dia azo soloina amin'ny:

    sub foo ($ havia, $ havanana) { miverina $ havia + $ havanana; }

    Raha miantso foo miaraka amin'ny tohan-kevitra mihoatra ny roa ianao dia hanipy fahadisoana ny mpandika teny. Ny lisitra koa dia manohana faribolana manokana "$", izay ahafahanao tsy miraharaha ny sasany amin'ireo tohan-kevitra, ohatra, "sub foo ($ankavia, $, $ havanana)" dia ahafahanao mandika ny tohan-kevitra voalohany sy fahatelo fotsiny ho variana. , raha telo katroka kosa no tsy maintsy ampitaina amin'ny tohan-kevitry ny asa.

    Ny syntax sonia ihany koa dia mamela anao hamaritra tohan-kevitra azo atao ary mamaritra ny soatoavina default raha misy tohan-kevitra tsy hita. Ohatra, amin'ny famaritana ny "sub foo ($ havia, $ havanana = 0)" dia lasa safidy ny tohan-kevitra faharoa ary raha tsy eo izany, dia lany ny sanda 0. Ao amin'ny asa fanendrena dia azonao atao ny mamaritra ny fomba fiteny tsy misy dikany, anisan'izany ny fampiasana varimbazaha hafa. avy amin'ny lisitra na variables manerantany. Ny fanondroana hash na array fa tsy miovaova (ohatra, "sub foo ($ankavia, @ankavanana)") dia mamela hevitra iray na maromaro handalo.

  • Ao amin'ny asa nambara tamin'ny fampiasana sonia, ny fanohanana ny fanendrena masontsivana fanampiny avy amin'ny laharan'ny "@_" dia ambara fa andrana ary hiteraka fampitandremana (ny fampitandremana dia avoaka raha tsy @_ no ampiasaina amin'ny fiasa nambara amin'ny fampiasana ny fehezanteny vaovao). Ohatra, hisy fampitandremana haseho ho an'ny asa: ampiasao v5.36; sub f ($x, $y = 123) { lazao hoe "Ny hevitra voalohany dia $_[0]"; }
  • Stabilized ary azo alaina rehefa mamaritra ny pragma "mampiasa v5.36", ny operator infix "isa" mba hanamarinana raha ohatra iray amin'ny kilasy voafaritra na kilasy iray avy aminy ny zavatra iray. Ohatra: raha( $obj isa Package::Name ) { … }
  • Rehefa mamaritra ny pragma "fampiasana v5.36", dia alefa ny fanodinana fampitandremana (ny fomba "fampiasana fampitandremana" dia alefa).
  • Rehefa mamaritra ny pragma "mampiasa v5.36", ny fanohanana ny fanamarihana ankolaka amin'ny fiantsoana zavatra ("endri-javatra ankolaka") dia kilemaina - fomba fiantsoana zavatra efa lany andro, izay misy habaka ampiasaina fa tsy "->" ("fomba $ object @param" fa tsy "$object-> $method(@param)"). Ohatra, raha tokony "my $cgi = new CGI" dia mila mampiasa "my $cgi = CGI->vaovao".
  • Rehefa mamaritra ny pragma "mampiasa v5.36", ny fanohanana amin'ny fakan-tahaka ny arrays sy ny hash amin'ny endrika Perl 4 ("feature multidimensional") dia kilemaina, mamela ny fanondroana fanalahidy maromaro hadika amin'ny array intermediate (ohatra, " $hash{1, 2}") dia niova ho "$hash{join ($;, 1, 2)}").
  • Rehefa mamaritra ny pragma "mampiasa v5.36", ny fanohanana ny mekanika sampana andrana ("famindrana endri-javatra"), mitovy amin'ny fanambarΓ na switch sy tranga, dia kilemaina (Perl dia mampiasa ny nomena sy rehefa teny fanalahidy). Raha hampiasa an'io endri-javatra io ianao, manomboka amin'ny Perl 5.36, dia tsy maintsy mamaritra mazava ny 'fampiasana "switch" ianao, ary raha mamaritra ny "fampiasana version" ianao, dia tsy ho alefa ho azy intsony izany.
  • Ny fanohanan'ny kilasin'ny endri-tsoratra fanampiny amin'ny fononteny efajoro ao anatin'ny fitenenana mahazatra dia niorina ary azo alaina amin'ny alΓ lan'ny default. Ny endri-javatra dia ahafahanao manao lalao amin'ny alΓ lan'ny fitsipika mandroso momba ny fihaonan-dalana, ny fanilihana ary ny fampiraisana ireo andian-tsoratra. Ohatra, '[AZ - W]' - tarehin-tsoratra manomboka amin'ny A ka hatramin'ny Z tsy misy W.
  • Ny fanohanana ny hetsika "(?", "( )", "{ }" ary "[ ]" dia miorina amin'ny ampahany ary azo alaina amin'ny alΓ lan'ny default; azonao ampiasaina ny marika "" "", "" "", sns. Ohatra , "qr"pat "".
  • Voarara ny fiantsoana ny asa fanasokajiana tsy misy adihevitra, izay hiteraka hadisoana izao. @a = sokafy @foana; # hitohy @a = sort; # misy hadisoana hatao pirinty @a = sort(); # misy hadisoana hatao pirinty
  • Misy sainam-baiko vaovao "-g" natolotra, izay ahafahana mameno ny rakitra manontolo amin'ny ankapobeny, fa tsy andalana. Ny fihetsiky ny saina dia mitovy amin'ny famantarana "-0777".
  • Nohavaozina ho version 14.0 ny fanohanana ny fanondroana Unicode.
  • Manome fitantanana eo noho eo ny fanairana mitsingevana (SIGFPE) mitovy amin'ny fanairana hafa toy ny SIGSEGV, ahafahanao mamatotra ny mpiandraikitra anao manokana ho an'ny SIGFPE amin'ny alΓ lan'ny $SIG{FPE}, ohatra ny famoahana ny laharan'ny tsipika misy ny olana.
  • Ny dikan-teny nohavaozina ao anatin'ny fonosana fototra.
  • Nanampy fanatsarana ny fampisehoana. Ny fahafahana mitahiry fanalahidin'ny tenifototra lehibe amin'ny fomba mahomby kokoa tsy mampiasa latabatra tady iombonana dia nomena. Ny fampandehanana ny famoronana soatoavina scalar vaovao dia nohatsaraina be, ohatra izao kaody manaraka izao dia mihazakazaka 30% haingana kokoa: $str = "A" x 64; ho an'ny (0..1_000_000) { @svs = split //, $str }
  • Nanomboka nampiasa ny sasany amin'ireo fanamboarana voafaritra ao amin'ny fenitra C99 ny kaody mpandika teny. Ny fananganana Perl izao dia mitaky compiler izay manohana ny C99. Ny fanohanana ny fananganana amin'ny dikan-teny taloha an'ny MSVC++ (pre-VC12) dia natsahatra. Fanampiana fanampiny amin'ny fananganana ao amin'ny Microsoft Visual Studio 2022 (MSVC++ 14.3).
  • Ny fanohanana ny sehatra AT&T UWIN, DOS/DJGPP ary Novell NetWare dia natsahatra.

Source: opennet.ru

Add a comment