Včeraj zvečer je na konferenci «Perl and Raku Conference in the Cloud» Sawyer X napovedal premik glavne različice Perla s 5 na 7. Delo se že izvaja, nova različica bo izšla v roku enega leta. Pričakujte manjše število sprememb, na kratko: Perl 7 je pravzaprav Perl 5.32 z sodobnimi privzetimi nastavitvami. Ni vam več treba izrecno vključevati funkcionalnosti, ki jih že uporabljate, vklopili jih bodo namesto vas!
Kaj bo vključeno?
Celotnega seznama še ni, vendar sta strict in warnings zagotovo na seznamu! V 7. različici bodo podpisi verjetno ostali eksperimentalni, utf8 pa prav tako ne bodo uspeli vključiti.
Kaj bo izklopljeno?
- Neposreden klic metod:
{;
package Foo;sub new { bless {} }
sub bar { print "Hello from bar()!n" x pop }
}# Нормальный вызов
my $foo = Foo->new();
# Непрямой вызов
bar $foo 42; - Prazne besede (barewords) kot identifikatorji deskriptorjev (razen standardnih (STDIN, STDOUT, STDERR))
- Pseudo večdimenzionalni hash v slogu Perla 4.
# примеры взяты из perldoc perlvar
$foo{$x,$y,$z}
# на самом деле означает $foo{join($;, $x, $y, $z)} - Stari prototipi v slogu Perla 4. Zdaj je treba pisati le tako:
sub foo :prototype($$) ($left, $right) {
return $left + $right;
}Najprej prototip, ki vpliva na prevajanje klicev, nato pa podpisi, ki postavljajo argumente v ustrezne spremenljivke med izvajanjem.
Kljub temu bo ostala možnost, da se vse vrne nazaj na enega:
use compat::perl5;
Ali pa enega po enega.
Perl 5.32 prehaja v dolgo podporo za obdobje 5 let.
Podroben napovednik od Briana D Foy: https://www.perl.com/article/announcing-perl-7/
TL;DR različica od njega samega: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html
Izvor: linux.org.ru
