Perl 5.26 is veiliger
De nieuwe Perl 5-versie is iets veiliger en heeft mooiere reguliere expressies. Er zitten kleinere en grotere detailverbeteringen in. De grote dingen worden aan Perl 6 overgelaten, maar de Perl-porters hebben hier en daar toch wat van Perl 6 afgekeken. Maar aan het beleid dat de acute problemen van Perl 5-gebruikers voorrang hebben, is niets veranderd. Daarbij hoort onder andere het security-lek CVE-2016-1238, waarmee aanvallers Perl-programma's met verregaande privileges konden kapen als ze schrijfrechten hadden tot de werkmap ervan. Naast het toevoegen van de Unicode 9-standaard zijn er weer de gebruikelijke kleine aanpassingen om erfenissen uit het verleden af te bouwen, regels te vereenvoudigen en om toekomstige conflicten voor te zijn. Zo is use ::pakketnaam niet meer toegestaan. Ook moet vanaf nu bij een reguliere expressie een accolade altijd voorafgegaan worden door een backslash (/\{\}/) als die als literal moet worden opgevat. Dat geldt ook voor andere symbolen met een speciale betekenis. De regex-modifier x, waarmee je spaties kunt gebruiken voor de duidelijkheid zonder de betekenis te veranderen, is een uitbreiding van de modifier xx. De ingevoerde speciale variabele %{^CAPTURE} voegt de positionalen ($1 …) en de genoemde captures (%+) samen en lijkt daarmee op het capture-object van Perl 6.
Als je er een hekel aan had dat heredocstrings de codeformatering verstoren, dan kun je die vanaf Perl 5.26 inleiden met <~EOF en met dezelfde regels inspringen als bij Perl 6. Ook de lexicale subroutines (my sub …) komen daar vandaan. Die zitten er sinds Perl 5.18 in als de experimentele feature lexical_ subs. Je kunt ze nu zonder waarschuwingen toevoegen met use feature 'lexical_subs'; of met use 5.26;.