Para el 20vo aniversario de PERL (PERL 1.0 salió en 1987) los desarrolladores del lenguaje decidieron lanzar la versión 5.10.
Esta nueva versión incluye nuevos operadores, mejoras en el uso de memoria, mejorar para la versión windows, nuevas expresiones regulares y más.
Les recomiendo esta presentación:
http://www.slideshare.net/acme/whats-new-in-perl-510/1
Veamos algunas mejoras en más detalle:
- Operador “~~” super-match. Se adapta según el valor de la derecha sea una expresión regular, un array o un key:
- $a ~~ /\D/ => Confronta $a con la Regexp.
- $a ~~ @b => Comprueba si $a es alguno de los elementos de @b
- etc.
- Operador switch-case. Luego de muchas idas y vueltas y workaround, PERL incluye este a-veces-util operador. Los keywords son given(XX) { when (YYY) { }; … }. El argumento YYY será similar al operador derecho del super-match. Super!
- Expresiones regulares. El engine ya no es más recursivo, por lo que se evitará los overflow en algunas (rarisimas) situaciones. Hay varios cambios que no vi en detalle, pero me llamó la atención las capturas con nombre (no más $1, $2…). La sintaxis es como la de .NET. También se agregó una posibilidad de ‘debugear’ una regexp. Esto parece muy interesante!
- State Variables. Parecen las ’static’ de C, pero se pueden definir en cualquier scope (incluso dentro de una subrutina).
- Operador //. Es como el || de antes, pero “zero y null safe”. Sirve para definir valores por defecto si la variable no esta definida: $a = $b // 8;
Esperamos entonces que pronto este soportado en Apache/mod_perl2 y Ubuntu!Hay más cambios! Y muy pronto saldrá el PERL 6.0.0, que promete ser una revolución!
Long live to PERL.






