Perl 7 iragarri zuen

Perl hizkuntza garatzaileen gaurko hitzaldi birtualean iragarri Perl 7 proiektu bat, aldaketa errotikorik egin gabe Perl 5 adarra garatzen jarraituko duena. Perl 7 antzeko bertsioa izango da Perl 5.32.0, garapen-praktika modernoekin koherenteagoak diren beste ezarpen lehenetsiak izan ezik. Bestela, Perl 7 Perl 5-en berdina izango da eta bateragarria izango da aurretik garatutako aplikazioekin.

Bertsio-zenbakiaren aldaketa nabarmen batek bereizle moduko bat izango du Perl hizkuntzaren funtzionaltasuna areagotzeko eredu berri batera igarotzeko, atzerako bateragarritasunaren urraketa nabarmenik gabe.
Perl 7-ren kaleratzeak Perl-era garatzaile berriak erakartzen lagunduko duela eta hizkuntzari ezaugarri berri esanguratsuak gehitzeko prozesua arintzen lagunduko du, lehendik dauden proiektuen kode-oinarriarekin bateragarritasuna mantenduz. 7 zenbakia aukeratu zen Perl 6 erabiltzen zelako gaur egungo hizkuntza garatzeko garatzen da Raku izen bereiziarekin. Datorren urtean Perl 7-ren lehen bertsioa espero da. Perl 5.32 adarra Perl 5 serieko azkena izango da eta 5 eta 10 urte bitarteko laguntza izatea aurreikusten da.

Perl 7-en aldaketarik nabarmenena " txertatzea dazorrotzβ€œ, horrek deklarazio aldagaien egiaztapen zorrotza, erakusle sinbolikoak eta azpierrutinen esleipenak erabiltzea dakar. "Erabili zorrotza" erabiltzea forma ona da eta garatzaile gehienek erabiltzen dute. Era berean, lehenespenez abisu prozesatzea gaitzeko asmoa dute (β€œabisuak erabili").

Perl 7-k ere lehenetsita dauden ezaugarri esperimental batzuk egonkortzea eta gaitzea espero du, adibidez funtzio sinadurak ("erabili 'sinadura' ezaugarria"), funtzio bat definitzerakoan sarrerako argumentuak zehaztea eta haien zenbakia egiaztatzea automatizatzea ahalbidetzen duena ("sub foo ($ezkerrera, $eskuin) {" idatz dezakezu "sub foo {"-ren ordez. nire ($ezker, $eskuine) ) = @_;"). Objektu bat zehaztutako klase baten instantzia den edo bertatik eratorritako klase bat den egiaztatzeko "isa" operadorearen laguntza lehenespenez onartzen dute ("if($obj isa Package::Name)", baita postfix deserreferentziak ere. eragiketak (postderef) "$ sref->$*" "${ $sref }"ren ordez, "$aref->@*" "@{ $aref }" eta "$href->%{... }" "%$href{ ... }"-ren ordez

Perl 7-n lehenespenez desgaitzeko hautagaiak hauek dira:

  • Zeharkako objektu deitzen duen notazioa ("Ezaugarririk ez qw (zeharkakoa)") objektuei deitzeko modu tradizionala da, "->"-ren ordez espazio bat erabiliz ("$object @param" metodoa "$object->$method(@param)"-ren ordez). Adibidez, "nire $cgi = CGI berria"ren ordez "nire $cgi = CGI->berria" erabiliko zenuke beti.
  • Adierazpen aldagairik gabeko fitxategien deskribatzaileak ("hitz hutsik ez::filehandle") - "open FH, $file" bezalako eraikuntzak erabiltzeak errore bat ekarriko du, "open my $fh, $file" erabili behar duzu. Aldaketak ez die eragingo STDIN, STDOUT, STDERR, ARGV, ARGVOUT eta DATA fitxategien deskribatzaile estandarrei.
  • Perl 4 estiloko array multidimentsionalak eta hash-ak ("dimentsio anitzeko ez").
    Adibidez, "$hash{1, 2}" zehazteak errore bat ekarriko du; tarteko array bat erabili behar duzu, adibidez, "$hash{join($;, 1, 2)}".

  • Prototipoak Perl 4 estiloan deklaratzea ("use :prototype()" erabili behar duzu).

Urrunagoko planetan, Unicode laguntza lehenespenez gaitzea espero dute, eta horrek garatzaileek gordeko dute kodean "use utf8" zehaztea. Ezarpen lehenetsi berriekin arazoak dituzten modulu eta scriptetarako, Perl 5 portaerara itzul daiteke kodeari "use compat::perl5" lerroa gehituta. Banakako ezarpenak ere gordeko dira eta banaka alda daitezke.

Iturria: opennet.ru

Gehitu iruzkin berria