Menü
Developer

Perl 5.14: Fleißrelease für einen sanften Wandel

Von
vorlesen Drucken Kommentare lesen 13 Beiträge

Wie versprochen geben die "Perl-Porter" nun jährlich eine neue stabile Version der Programmiersprache frei. Innerhalb eines Jahres sammelte sich bei Version 5.14 mehr Neues an als in den 27 Monaten, in denen Perl 5.12 entstand. Darunter finden sich jedoch kaum große Erweiterungen, wie sie Perl 5.10 brachte, sondern viele kleine Erleichterungen bei praktischen Problemen, Verbesserungen für konsistenteres Verhalten und leichte Anpassungen gen Perl 6.

Wie seit Perl 5.10 üblich, sind Funktionen, die die Kompatibilität brechen, einzeln oder zusammen mit use feature ':5.14'; oder use 5.014; anzumelden. Von den vielen Fehlerbehebungen wurden nur die 145 wichtigsten aufgezählt. In seltenen Fällen konnte der Interpreter sogar beschleunigt werden, bei String-Anfügungen unter Windows sogar um den Faktor 100. Die Module Class::ISA, Pod::Plainer und Switch verließen den Kern.

Im vorliegenden Release geht es hauptsächlich um Unicode und Dokumentation. Mit der historisch bedingten Ausnahme von \N{BELL} (bitte \N{U+1F514} benutzen) spricht Perl jetzt vollständig Unicode 6.0, greift aber wenn möglich nicht mehr auf seine eigene Zeichentabelle zurück. Durch use feature 'unicode_strings'; werden Strings bei allen Operationen als Unicode verstanden, was die meisten Probleme, die damit zusammenhängen, behebt. Neue Steuerzeichen und Modifikatoren für reguläre Ausdrücke sollen den Umgang mit Unicode erleichtern.

Besonders hebt sich der Modifikator /r hervor, der Transliterationen (tr///) und Substitutionen erlaubt, die den Input nicht verändern und statt der Funde das Geänderte liefern, was mit map kombiniert auch auf Listen anwendbar ist.

    @neu = map { s/ae/ä/gr } @alt;

Mit einem use re '/r'; würden alle regulären Ausdrücke des aktuellen lexikalischen Bereichs in diesem Modus laufen. Eine weitere Verschönerung gängigen Codes bringen die Built-ins für Listen und Hashes wie push oder keys, die jetzt Referenzen automatisch dereferenzieren, was unansehnliche Ausdrücke à la %{$hoh->{Alben}{Rap}} vermeidet.

Große Teile der Dokumentation wurden überarbeitet, von Anachronismen befreit und stilistisch aktualisiert. Auch die API der Interna (XS) haben die Entwickler verändert, sie haben mehrere Methoden als veraltet markiert und neue hinzugefügt. Diese dienen unter anderem der Introspektion und um externe Multithread-Anwendungen leichter anzubinden.

Dass der Umgang mit Unicode wenigstens intern noch Verbesserung erfahren wird, lässt ein angenommenes Projekt für den Summer of Code schließen. Ebenfalls stark diskutierte Themen für Perl 5.16 sind Signaturen und ein an die Perl-5-Erweiterung Moose angelehntes Objektmodel.


Siehe dazu auch:

(Herbert Breunung) / (ane)