Heise 16.07.2026
09:03 Uhr

Programmiersprache Perl 5.44 führt benannte Funktionsparameter ein


Das aktuelle Perl geht einen weiteren Schritt in Richtung moderner Objektorientierung. Außerdem schließt Perl 5.44 drei Sicherheitslücken.

Programmiersprache Perl 5.44 führt benannte Funktionsparameter ein

Das aktuelle Perl 5.44 erlaubt es, innerhalb von Signaturen benannte Parameter mit zugehörigen Default-Werten zu deklarieren:

Wie in Raku (ehemals Perl 6) werden sie mit dem Präfix : vor der Sigil gekennzeichnet. Dieser Doppelpunkt ist nicht Teil des Variablennamens, und beim Aufruf muss man die Sigil weglassen.

Benannte Parameter müssen keinen Default-Wert erhalten und sind immer optional. Das ermöglicht die Kombination mit positionalen Parametern. In diesem Fall müssen beim Methodenaufruf immer zuerst die Positionsargumente stehen. Benannte Parameter werden bis mindestens Perl 5.46 experimentell bleiben und erfordern deshalb diesen Zusatz:

Neben einer langen Liste an behobenen Fehlern und einigen Performanceverbesserungen wurden auch drei Sicherheitslücken geschlossen, die einen Pufferüberlauf auslösen konnten.

Die Lücke CVE-2026-8376 betrifft reguläre Ausdrücke, die aus alternativen Unicode-Zeichenketten bestehen. Mit CVE-2026-13221 war das Verhalten der Befehle pack und unpack betroffen. CVE-2026-57432 schlug nur bei äußerst großen regulären Ausdrücken zu, die aus mehr als 65.000 alternativen Teilausdrücken bestehen.

Bemerkenswert ist das endgültige Abschalten einer Funktionsweise, die bereits seit Perl 5.12 als veraltet gekennzeichnet ist. Nun ist es endlich nicht mehr gestattet, mittels goto in Schleifen, Subroutinen und ähnliche funktionstragende Blöcke hineinzuspringen.

Eine Übersicht mit allen behobenen Fehlern, Dokumentationsänderungen, Fehlermeldungen und weiteren Interna ist in der Dokumentation zum aktuellen Release einsehbar.

(rme)