I går aftes på "Perl and Raku Conference in the Cloud", anmeldte Sawyer X overgangen fra version 5 til 7 af Perl. Arbejdet er allerede i gang, og den nye version vil blive udgivet inden for et år. Forvent ikke mange ændringer – kort sagt er Perl 7 stadig Perl 5.32 med moderne standardindstillinger. Du behøver ikke længere eksplicit at aktivere de funktioner, du allerede bruger; de vil blive aktiveret for dig!
Hvad bliver inkluderet?
Der er endnu ikke en fuld liste, men strict og warnings vil helt sikkert være med! I version 7 vil signaturer sandsynligvis forblive eksperimentelle, og utf8 vil heller ikke blive inkluderet i tide.
Hvad vil blive deaktiveret?
- Indirekte metodeopkald:
{;
package Foo;sub new { bless {} }
sub bar { print "Hello from bar()!n" x pop }
}# Нормальный вызов
my $foo = Foo->new();
# Непрямой вызов
bar $foo 42; - Bare ord (barewords) som identifikatorer for deskriptorer (undtagen standarderne (STDIN, STDOUT, STDERR))
- Pseudo-multidimensionale hashes i Perl 4 stil.
# примеры взяты из perldoc perlvar
$foo{$x,$y,$z}
# на самом деле означает $foo{join($;, $x, $y, $z)} - Gamle prototyper i Perl 4 stil. Nu skal det skrives således:
sub foo :prototype($$) ($left, $right) {
return $left + $right;
}Først prototypen, der påvirker kompileringen af opkald, og derefter signaturer, der placerer argumenter i de tilsvarende variabler under kørsel.
Der vil dog stadig være mulighed for at få det hele tilbage på én gang:
use compat::perl5;
Eller én ad gangen.
Perl 5.32 går ind i en langsigtet supporttilstand i fem år.
Uddybende meddelelse fra Brian D. Foy: https://www.perl.com/article/announcing-perl-7/
TL;DR version fra ham: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html
Kilde: linux.org.ru
