Tengo un programa Perl que almacena expresiones regulares en archivos de configuración. Ellos están en la forma:Doble interpolación de expresiones regulares en Perl
regex = ^/d+$
Por otra parte, la expresión regular se analiza desde el archivo y se almacena en una variable - $regex
. Luego uso la variable al verificar la expresión regular, p. Ej.
$lValid = ($valuetocheck =~ /$regex/);
Quiero ser capaz de incluir variables perl en el archivo de configuración, p. Ej.
regex = ^\d+$stored_regex$
Pero no sé cómo hacerlo.
Cuando las expresiones regulares son analizadas por Perl, se interpretan dos veces. Primero, las variables se expanden, y luego se analiza la expresión regular en sí misma.
Lo que necesito es un proceso de tres etapas: Primero interpola $regex
, luego intercala las variables que contiene y luego analiza la expresión regular resultante. Ambas primeras interpolaciones deben ser "conscientes de la expresión regular". p.ej. deben saber que la cadena contiene $
como delimitador, etc. ...
¿Alguna idea?
Es una solución elegante. –