Perl 5.36.0 programmandi lingua prompta

Post annum evolutionis emissio novum ramum stabilium linguae programmationis Perl 5.36 divulgatum est. Cum novam emissionem parabat, circiter CCL milia lineae codicis mutatae sunt, mutationes 250 imaginum affectarum, 2000 tincidunt evolutioni interfuerunt.

Germen 5.36 secundum schedulam evolutionis fixam ante novem annos approbatam dimittitur, quae emissionem novam ramorum stabilium semel in anno implicat et singulis tribus mensibus emissio emendatrix est. Prima emenda emissio Perl 5.36.1 hora circiter mensem solvenda est, figens cimices notabiliores quae in exsecutione Perl 5.36.0 notantur. Una cum emissione Perl 5.36, subsidium 5.32 ramus omissus est, qui solum in futurum renovari potest si quaestiones securitatis criticae identified. Processus evolutionis ad 5.37 ramus experimentalis etiam incepit, e quo stabilis emissio Perl 2023 mense Maio vel Iunio 5.38 formabit, nisi decisio fiat ad 7.x numerationem movendam.

Key mutationes:

  • Subsidiis functionis fulcimentum stabilitum est et nunc praesto est cum pragma specificando "usum v5.36", quod permittit ut expresse definias album variabilium in officio et automate operationes reprimendi et assignandi valores ex ordinata. parametri input. Exempli gratia, codice antea usi sunt: ​​sub foo { die "Nimis argumenta multa pro subroutine" nisi @_ >= 2; die "Nimis pauca argumenta subroutine" nisi @_ <= 2; mea($ left, $right) = @_; revertere $ ad sinistram + $ ius; }

    cum subscriptionibus utens, substitui potest;

    sub foo ($left, $right) {reditus $left + $right; }

    Foo cum pluribus quam duobus argumentis vocans errorem interpretis causabit. Elenchus singularem variabilem "$" sustinet, quod aliquas argumentationes ignorare te sinit, exempli gratia "sub foo ($left, $, $right)", primas et tertias argumenta tantum exscribere tibi sinet. variabilium, cum tribus plane argumentis.

    Subscriptio syntaxis etiam permittit ut rationes optionales definias et valores default pones si argumentum deest. Exempli gratia, specificando "sub foo ($left, $right = 0)", secunda ratio ad libitum fit et, si absens est, valorem 0 reddit. Expressio arbitraria in operatione assignatione, inter usura aliae variabiles ex indice vel variabilium globalium. Nullam vel ordinatam speciem pro variabili (exempli gratia "sub foo ($left, @right)") proveniet in possibilitate transeundi unum vel plura argumenta.

  • In functionibus utens subscriptionibus declaratur, subsidium adiectis parametris ex "@_" assignatione ordinata declaratur experimentalis et in admonitione evenit (monitio tantum editur si @_ adhibeatur in functionibus utens nova syntaxis declarata). Exempli causa, pro munere feratur admonitio: uti v5.36; sub f ($x, $y = 123) { dicere "Prima ratio est $_[0]"; }
  • Stabilitur et praesto est cum pragma "usum v5.36" denotans, "isa" operantis infixi ad reprimendum utrum obiectum sit exemplum determinati ordinis vel ex eo derivatis. Exempli gratia: si($obj isa Sarcina::Name ) { ... }
  • Cum pragma specificando "usum v5.36", processus monitionum est efficax (ad modum "usus admonitionis" reducitur).
  • Cum pragma specificans "usum v5.36", subsidium ob notationem indirectam obiecti vocandi ("pluma indirecta") debilitata est - modus obsoleta obiectis vocandi, in quo spatium pro "->" (" methodus $ adhibetur. object @param" instead of "$object-> $modum(@param)"). Exempli gratia, loco "mi $cgi = novi CGI" uteris "my $cgi = CGI->novi".
  • Cum pragma specificans "usum v5.36", subsidium multidimensionales vestium aemulantium ac Perl 4-style hashes ("pluma multidimensionalis") debilis est, permittens plures claves in medium ordinatam transferri (exempli gratia "$hash{1 , 2}") conversus est ad "$hash{join($;, 1, 2)}").
  • "Usus v5.36" pragma disables subsidium experimentalem mechanismum ramosum ("pluma switch") similia ad mutandum et casus enuntiationes (Perl datis et cum keywords utitur). Cum Perl 5.36, expresse exprimere debes "pluma "switch" uti hoc pluma, et "usus versionis" denotans non amplius sponte id efficiet.
  • Stabilitur et praesto est per default subsidium pro addito charactere classes in uncis quadratis intra expressiones regulares. Facultas permittit ut regulas extensas adaptandi ad plures characteres secandi, excludendi et concatenandi. Verbi gratia, 'AZ - W] est characteribus ab A ad Z, exclusis W.
  • Operationes "(,", ", ", "{}" et "[ ]" partim stabiliuntur et defalta in promptu sunt. Characteribus uti potes "", ", "", etc. .
  • Prohibetur appellare quale munus sine argumentis, quae nunc ad errorem output ducunt. @a = sort @empty; #pergere @a = sort; errorem #a = sort (); # Error erit foras
  • Novum mandatum lineae vexillum "-g" propositum est, quod modus dat totam tabulam accipiendi potius quam lineam in linea. Vexillum idem facit ac "-0777".
  • Firmamentum pro speciei Unicode renovatum est ad versionem 14.0.
  • Instant fluitans punctum exceptio (SIGFPE) tractans similes aliis terroribus sicut SIGSEGV providetur, permittens morem tracto ut signo SIGFPE adjungi per $SIG{FPE}, exempli gratia posito numero lineae ubi quaestio occurrit.
  • Renovata versiones modulorum in distributione fundamentali comprehensae.
  • Adiecit optimizations perficiendas. Facultas magnas clavium detrahendi efficacius condendi, sine usu tabularum chordarum communicatarum, provideatur. Effectus novas scalares valores creandi signanter emendatus est, exempli gratia, sequens signum nunc velocius 30% decurrit: $str = "A" x 64; ad (0..1_000_000) { @svs = aluminis //, $str }
  • Interpres codicem quibusdam constructis in signo C99 definitis uti coepit. Aedificium Perl nunc requirit compilator qui sustinet C99. Conventus subsidii in vetustis versionibus MSVC++ (ante VC12) omissa est. In Microsoft Visual Studio 2022 conventus subsidium adiecit (MSVC ++ 14.3).
  • Subsidium pro AT&T UWIN, DOS/DJGPP, et Novelli NetWare suggesta omissa sunt.

Source: opennet.ru