Na virtuálnej konferencii vývojárov jazyka Perl, ktorá sa koná dnes, projekt Perl 7, ktorý plynulo pokračuje v rozvoji vetvy Perl 5 bez radikálnych zmien. Perl 7 bude podobný vydaniu , s výnimkou iných predvolených nastavení, ktoré lepšie zodpovedajú súčasným praktikám vývoja. Inak zostane Perl 7 tým istým Perl 5 a zachová kompatibilitu s predtým vytvorenými aplikáciami.
Významná zmena čísla verzie sa stane akýmsi oddeľovačom prechodného obdobia k novému modelu zvyšovania funkčnosti jazyka Perl bez podstatného narušenia spätnej kompatibility.
Predpokladá sa, že vytvorenie Perl 7 pomôže pritiahnuť nových vývojárov a zjednodušiť proces pridávania významných nových funkcií do jazyka, pričom sa zachová kompatibilita s kódovou základňou existujúcich projektov. Číslo 7 bolo zvolené, pretože Perl 6 bol použitý pri vývoji jazyka, ktorý teraz má samostatný názov Raku. Prvé vydanie Perl 7 sa očakáva v budúcom roku. Vetva Perl 5.32 sa stane poslednou v sérii Perl 5 a plánuje sa jej podpora od 5 do 10 rokov.
Najvýraznejšou zmenou v Perl 7 bude predvolené zapnutie režimu „“, ktorý predpokladá prísne overovanie deklarácie premenných, používanie symbolických ukazovateľov a priradenie podprogramov. Používanie „use strict“ je dobrým zvykom a aplikuje ho väčšina vývojárov. Podobne plánujú predvolene zapnúť spracovanie varovaní („«).
V Perl 7 sa taktiež plánuje stabilizovať a predvolene zakomponovať niektoré už existujúce experimentálne funkcie, ako sú („use feature 'signatures'“), ktoré umožňujú pri definícii funkcie určiť prichádzajúce argumenty a automatizovať kontrolu ich počtu (bude možné písať „sub foo ($left, $right) {“ namiesto „sub foo { my($left, $right) = @_;}“). Plánujú predvolene zapnúť aj podporu operátora „isa“ pre kontrolu, či je objekt inštanciou určeného triedy alebo triedy odvodenou od nej („if( $obj isa Package::Name )“, ako aj operácií postfixového dereferencovania (postderef) „$sref->$*“ namiesto „${ $sref }“, „$aref->@*“ namiesto „@{ $aref }“ a „$href->%{ … }“ namiesto „%$href{ … }“.
Kandidátmi na vypnutie predvolene v Perl 7 sú:
- Nepriamy zápis volania objektov („«) — zastaraný spôsob volania objektov, pri ktorom sa namiesto „->“ používa medzera („method $object @param“ namiesto „$object->$method(@param)“). Napríklad namiesto „my $cgi = new CGI“ je potrebné vždy používať „my $cgi = CGI->new“.
- Holé súborové deskriptory bez deklarácie premenných („«) — použitie konštrukcií typu „open FH, $file“ povedie k chybe, je potrebné použiť „open my $fh, $file“. Zmena sa nedotkne štandardných súborových deskriptorov STDIN, STDOUT, STDERR, ARGV, ARGVOUT a DATA.
- Fiktívne viacrozmerné polia a hash-i v štýle Perl 4 („«).
Napríklad zadanie „$hash{1, 2}“ povedie k chybe, je potrebné použiť medzipel, napríklad „$hash{join($;, 1, 2)}“. - Vyhlásenie prototypov v štýle Perl 4 (je potrebné používať „use :prototype()“).
V vzdialenejších plánoch sa predpokladá, že sa štandardne zavádza podpora Unicode, čo uľahčí vývojárom vyhnúť sa používaniu „use utf8“ v kóde. Pre moduly a skripty, kde sa vyskytnú problémy s novými predvoleniami, je možné vrátiť správanie Perl 5 pridaním riadku „use compat::perl5“ do kódu. Samostatné nastavenia sa budú tiež uchovávať a bude možné ich zmeniť samostatne.
Zdroj: opennet.ru
