#valores iniciales del programa en C
$estado=0;

#recorre el fichero de texto línea a línea
while ($_=<stdin>)
 {
 #elimina los carriage return y los line feed
 s/\n//g;
 s/\r//g;
 #si la línea actual contiene "Valor P="
 if (/^(.)+Estableciendo ciclo/)
	{
	#elimina el texto y copia el número en la variable $valorCiclo
	s/(.)+Estableciendo ciclo//;
	$valorCiclo=$_;
	#crea un nuevo fichero de texto con los datos leídos anteriormente y cambia de estado
	$nombre=sprintf(">almacenar_ciclo%d.txt",$valorCiclo);
	open(FILE, $nombre) or die "Cannot open file $nombre";
	printf FILE "INIINI ciclo=%d\n",$valorCiclo;
	$estado=1;
	}
 #si la línea actual comienza con la palabra "INICIO"
 elsif (/^INICIO/)
	{
	#cambia de estado
	$estado=2;
	}
 #si la línea actual comienza con la palabra "FIN"
 elsif (/^FIN/)
	{
	$estado=0;
	printf FILE "FINFIN\n";
	close FILE;
	}
 #si estamos en el estado inicial 2, después de "INICIO", imprime la línea leída en el fichero de salida 
 if ($estado>=2)
   {
   s/^[\s\t]+//g;
   printf FILE "%s\n",$_;
 }
 
 }