Mexican el código no está bien....
primero para comparar no se usa == en perl tal como te lo han dicho los colegas, se usa eq, equivalente a equal, igual... el otro sería ne, o not equal.... osea eq - == y ne equivale a !==
lo otro es que acá
Cita: $cadena >> "fichero salida"; #si la cadena es diferenta a comparación la añado en un fichero de salida.
debiera ir la operación para abrir, escribir y cerrar el archivo pero no la ti enes, la tienes fuera, podrías modificarlo para ponerla en ése lugar o utilizar una llamada a subrutina.
Y finalmente la parte donde "escribes" en el archivo está mal también.
Cita: my $file = "fichero a abrir";
open(ENTRADA, "<$file") || die "no se puede abrir el archivo\n";
while ($linea =<ENTRADA>) {
limpiar_contenido(*linea);
}
close(DATA);
debiera ser algo así:
open(FILE,">nombredetuarchivo");
flock(FILE,2);
print FILE "loquequieresgrabar";
close(FILE);
y listo. El > es para crear y escribir comenzando de cero. El >> hace lo mismo pero APPEND, osea que cada vez que escribes AGREGA info.
Suerte