Buenos días,
Necesito editar un texto de tal forma que elimine toda cadena de caracteres que aparezca entre corchetes, a excepción de ciertas cadenas. Por ejemplo, imaginemos el siguiente texto:
Hola, [yo estoy empezando] a manejar perl, y [todavía no] tengo muchos conocimientos [sobre el tema]
Imaginemos que quiero obtener este mismo texto pero sin las frases que aparezcan entre corchetes, salvo que esas frases incluyan las palabras "no" o "el". Es decir, debería obtener lo siguiente:
Hola, a manejar perl, y [todavía no] tengo muchos conocimientos [sobre el tema]
Mi propuesta es la siguiente, pero no me funciona:
open F, shift;
while(<F>) {
s/\[(.*?)\]//g unless $1 =~ "no" | "el";
print;
}
close F;
La idea sería: sustituir toda cadena de caracteres incluida entre corchetes por cero (es decir, eliminarla), a no ser que esa cadena contenga las subcadenas "no" o "el".
¿Algún consejo?
Gracias anticipadas