Expresiones Regulares

Una expresión entre barras como /__END__/ (línea 2) o /LHP/ (línea 3) es una expresión regular en Perl.

La condición if (/__END__/) ... en la línea 2 es cierta si la variable por defecto $_ ``casa'' con la expresión regular /__END__/ o, lo que es lo mismo, pertenece al lenguaje descrito por la expresión regular /__END__/.

Definición 1.8.1   Casar significa que la cadena a la que se le hace el binding, en este caso $_, contiene en algúna posición una subcadena que pertenece al lenguaje descrito por la expresión regular.

Si se quisiera que solo hubiera casamiento cuando $_ sea exactamente __END__ deberíamos usar anclas.

Un ancla es un metasímbolo que casa con una posición. Por ejemplo, el circunflejo ^ es un metasímbolo que casa con el comienzo de la cadena y el dolar $ casa con el final. Así pues, si la expresión regular fuera /^__END__$/ estaríamos forzando a que casar sea equivalente a que la cadena sea exactamente igual a __END__.

Casiano Rodríguez León
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19