TĂ€nasel toimuval virtuaalsel Perl-i arendajate konverentsil projekti Perl 7, mis jĂ€tkab sujuvalt Perl 5 arengut ilma radikaalsete muudatusteta. Perl 7 sarnaneb vĂ€ljaandega , 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 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 ââ 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 (â«).
Perl 7-s loodetakse stabiliseerida ja vaikimisi lisada juba olemasolevaid katsevĂ”imalusi, nagu (â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 () 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 () â 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 («).
) 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
