Tengo un script de Perl que lee la búsqueda de expresiones regulares y reemplaza los valores de un archivo INI.Perl: pasar la búsqueda de expresiones regulares y reemplazar utilizando las variables
Esto funciona bien hasta que intento usar las variables de captura ($ 1 o \ 1). Estos se reemplazan literalmente con $ 1 o \ 1.
¿Alguna idea de cómo puedo hacer que funcione esta funcionalidad de captura pasando bits de expresiones regulares a través de variables? Ejemplo de código (no usar un archivo ini) ...
$test = "word1 word2 servername summary message";
$search = q((\S+)\s+(summary message));
$replace = q(GENERIC $4);
$test =~ s/$search/$replace/;
print $test;
Esto se traduce en ...
word1 word2 GENERIC $4
NO
word1 word2 GENERIC summary message
gracias
su patrón de búsqueda no tendrá éxito, hay **!: ** al final del patrón de búsqueda, pero no en la cadena. – tuxuday
perdón error de mi parte,!: Debería haber sido eliminado del ejemplo – andyml73