Perl 7 on teatatud

TĂ€nasel toimuval virtuaalsel Perl-i arendajate konverentsil teatatakse projekti Perl 7, mis jĂ€tkab sujuvalt Perl 5 arengut ilma radikaalsete muudatusteta. Perl 7 sarnaneb vĂ€ljaandega Perl 5.32.0, vĂ€lja arvatud mĂ”ned vaikeseaded, mis vastavad paremini tĂ€napĂ€eva arendustavadele. Muus osas jÀÀb Perl 7 samaks Perl 5-ks ja sĂ€ilitab ĂŒhilduvuse varasemalt arendatud rakendustega.

Signifikiivne versiooninumbri vahetus toimib omamoodi piiritajana ĂŒleminekuks uuele mudelile, et suurendada Perl-i funktsionaalsust ilma tagasisuunalise ĂŒhilduvuse rikkumiseta.
Oletatakse, et Perl 7 loomine aitab meelitada uusi arendajaid Perl-i kasutama ning sujuvalt lisada keelde olulisi uusi vĂ”imalusi, sĂ€ilitades samas olemasolevate projektide koodibaasi ĂŒhilduvuse. Number 7 on valitud, kuna Perl 6-d on kasutatud keele arendamisel, mis nĂŒĂŒd areneb on eraldi nime all Raku. Esimene Perl 7 versioon oodatakse jĂ€rgmisel aastal. Perl 5.32 haru jÀÀb viimaseks Perl 5 seerias ja seda plaanitakse toetada 5 kuni 10 aastat.

Perl 7 kĂ”ige silmapaistvam muudatus on vaikimisi reĆŸiimi „strict„ lisamine, mis eeldab ranget muutujate deklareerimise kontrollimist, sĂŒmboolsete nĂ€idikute kasutamist ja alamprogrammide mÀÀramist. „use strict“ kasutamine on hea toon ja seda rakendavad enamik arendajaid. Samuti plaanitakse vaikimisi lisada hoiatuste töötlemine („use warnings«).

Perl 7-s loodetakse stabiliseerida ja vaikimisi lisada juba olemasolevaid katsevĂ”imalusi, nagu funktsioonide allkirjad („use feature ‘signatures'“), mis vĂ”imaldab funktsiooni mÀÀramisel mÀÀrata sisendargumendid ja automatiseerida nende arvu kontrolli (saab kirjutada „sub foo ($left, $right) {“ asemel „sub foo { my($left, $right) = @_;“). Samuti plaanitakse vaikimisi lisada „isa“ operaatori tugi, et kontrollida, kas objekt on antud klassi vĂ”i sellest tuletatud klassi nĂ€ide („if( $obj isa Package::Name )“, samuti postderef operatsioone „$sref->$*“ asemel „${ $sref }“, „$aref->@*“ asemel „@{ $aref }“ ja „$href->%{ 
 }“ asemel „%$href{ 
 }“.

Perl 7 vaikimisi keelamise kandidaadid on:

  • Kaudne objekti kutsumise sĂŒntaks (no feature qw(indirect)) on vananenud viis objektide kutsumiseks, kus "->" asemel kasutatakse tĂŒhikut ("meetod $object @param" asemel "$object->$method(@param)"). NĂ€iteks peab "my $cgi = new CGI" asemel alati olema "my $cgi = CGI->new".
  • Alasti failideskriptorid ilma muutujate deklareerimiseta (no bareword::filehandle) — konstruktsioonide nagu "open FH, $file" kasutamine toob kaasa vea, tuleb kasutada "open my $fh, $file". Muudatus ei mĂ”juta standardseid failideskriptorid STDIN, STDOUT, STDERR, ARGV, ARGVOUT ja DATA.
  • Vale mitmemÔÔtmelised massiivid ja hĂ€sid Perl 4 stiilis (no multidimensional«).
    ) NÀiteks, kui öelda "$hash{1, 2}" toob see kaasa vea, tuleb kasutada vahemassiivi, nÀiteks "$hash{join($;, 1, 2)}".
  • PrototĂŒĂŒpide deklareerimine Perl 4 stiilis (peab kasutama "use :prototype()").

Kauges tulevikus plaanitakse vaikimisi Unicode'i toetust, mis vabastab arendajad "use utf8" mÀrgistamise vajadusest koodis. Moodulite ja skriptide jaoks, kus uued vaikeseaded tekitavad probleeme, on vÔimalik naasta Perl 5 kÀitumise juurde, lisades koodi rea "use compat::perl5". Erinevad seaded jÀÀvad samuti alles ja neid saab eraldi muuta.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster