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__/
.
$_
, 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