I går kveld på «Perl and Raku Conference in the Cloud», Sawyer X annonserte overgangen fra hovedversjonen Perl 5 til 7. Arbeidet er allerede i gang, og den nye versjonen vil bli lansert i løpet av året. Ikke forvent mange endringer; kort sagt, Perl 7 er fortsatt Perl 5.32 med moderne standardinnstillinger. Du trenger ikke lenger å aktivere funksjoner du allerede bruker, de vil bli aktivert for deg!
Hva vil bli inkludert?
Det finnes foreløpig ingen fullstendig liste, men strict og warnings vil definitivt være med! I den 7. utgivelsen vil signaturer mest sannsynlig forbli eksperimentelle, og utf8 vil de heller ikke rekke å inkludere.
Hva vil bli deaktivert?
- Utenom kall av metoder:
{;
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 (unntatt standard (STDIN, STDOUT, STDERR))
- Pseudo multidimensjonale hasher i Perl 4 stil.
# примеры взяты из perldoc perlvar
$foo{$x,$y,$z}
# на самом деле означает $foo{join($;, $x, $y, $z)} - Gamle prototyper i Perl 4 stil. Nå må du skrive det slik:
sub foo :prototype($$) ($left, $right) {
return $left + $right;
}Først prototypen som påvirker kompileringen av kall, og deretter signaturer som plasserer argumentene i de respektive variablene under kjøring.
Likevel vil det være mulig å revertere alt tilbake som en pakke:
use compat::perl5;
Eller én etter én.
Perl 5.32 går over til langvarig støtte for en periode på 5 år.
Detaljert kunngjøring fra Brian D Foy: https://www.perl.com/article/announcing-perl-7/
TL;DR versjon fra ham: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html
Kilde: linux.org.ru
