Estoy usando Perl 5.10.6 en Mac 10.6.6. Quiero ejecutar una búsqueda simple y reemplazar con un archivo de lo que he intentado:¿Cómo puedo usar 's ///' si mi cadena contiene un '/'?
my $searchAndReplaceCmd = "perl -pi -e 's/\\Q${localTestDir}\\E//g' ${testSuiteFile}";
system($searchAndReplaceCmd);
pero el problema anterior es la variable $localTestDir
contiene separadores de directorios ("/"
), y esto arruina la expresión regular ...
Bareword encontró donde el operador espera en la línea -e 1, cerca de "s/\ Q/home/selenio"
Backslash encontró donde el operador esperado en -e línea 1, cerca de "Live \" error de sintaxis at -e línea 1 , Cerca de "s/\ Q/home/selenio"
patrón de búsqueda no termina en la línea -e 1.
¿Cómo hago una búsqueda y reemplazo en un archivo cuando la variable en cuestión contiene ¿Caracteres de expresión regular? Gracias.
¡Me encanta la solución Perl! – Dave
@Dave Perl es muy amable;) las llamadas al sistema pueden ser útiles, pero casi siempre es preferible utilizar IMO perl puro. – TLP