Perl 5.42 kennt Unicode 16 und neue Sprach-Features

Perl 5.42 kennt Unicode 16 und neue Sprach-Features

Perl-Logo

Perl 5.42

Nach rund einem Jahr Arbeit haben die Perl-Entwickler eine neue Version ihrer Skriptsprache veröffentlicht. Sie unterstützt Unicode 16, bringt zwei alte Features zurück, führt eine weitere CORE::-Subroutine ein und bietet neue „all“ und „any“-Operatoren.

Letztgenannte helfen bei der Verarbeitung von Listen. Sie funktionieren wie „grep“, liefern aber nur dann „true“ oder „false“ zurück, wenn jedes beziehungsweise alle Elemente in einer Liste eine Bedingung erfüllen. Als Beispiel nennen die Release Notes:

if ( all { $_ % 2 == 0 } @numbers ) {
say "All the numbers are even";
}

„any“ und „all“ gelten allerdings noch als experimentell. Entwickler müssen ihre Nutzung folglich explizit erlauben – die entsprechenden Feature Flags heißen „keyword_any“ und „keyword_all“.

Des Weiteren ist ab sofort „chdir“ eine Subroutine im Namensraum „CORE::“. Damit führt unter anderem „&CORE::chdir($dir)“ nicht mehr zu einer Fehlermeldung. Das neue Pragma „source::encoding“ legt die Zeichenkodierung des Codes fest. So akzeptiert Perl mit „use source::encoding ‘utf8’“ ausschließlich UTF-8. Field-Variablen in Klassen kennen das neue „:writer“-Attribut, über den Perl automatisch Writer Acessors anlegt. Bereits Perl 5.40.0 hat den Exklusiv-Oder-Operator ^^ eingeführt, die neue Version bringt jetzt den passenden Zuweisungsoperator ^^= mit.

Nach einigen Diskussionen haben die Entwickler zudem zwei Features zurückgeholt. Zunächst erlaubt Perl 5.42 wieder den Apostroph als globalen Separator in Namen, der beispielsweise folgende Anweisung ermöglicht:

my $x = $My'Module'Var;

Wer diese Notation nicht mag, kann sie über das Feature „apostrophe_as_package_separator“ ausknipsen. Ebenfalls weiterhin an Bord sind das „switch“ Feature und der Smartmatch-Operator „~~“.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben