Hola,
haciendo más pruebas he descubierto que el problema debe de estar en
la evaluación de la expresión regular esa en concreto o del tamaño de
la misma.
Si con los mismos valores de entrada (ficheros de más de 30 Kb's)
escribo una expresión en perl que borre, por ejemplo, <temas>,
devuelve un valor correcto al sistema. Si luego hago un print, se ve
que funciona perfectamente. Sin embargo con la expresión que está
ahora "if ($ref =~ /<temas>((.|\n)*?)<\/temas>/){}" siempre falla si
el tamaño de la variable es muy grande.
¿Alguna idea de por qué puede pasar eso tras la actualización a lenny?