Ayuda con la buscqueda de cadenas repetidas

Iniciado por elesar, 21 Diciembre 2011, 20:04 PM

0 Miembros y 1 Visitante están viendo este tema.

elesar

Hola, antes hice otro post, preguntando como hacerlo de buscar una subcadena repetida mas larga en otra ,
hice esto :


#!c:/perl/bin/perl.exe
open(CADENA,"C:/cadena.txt") || die "No se encuentra el archivo";
$linea=<CADENA>;
print $linea;
close(CADENA);
$subcadena="";
$aux="";
$e=-1;
@array=split("",$linea);
foreach $letra(@array){

  $e++;
  $i=$e;
  for($e;$e<@array.length;$e++){
      $subcadena .= "$array[$e]";
      if($linea =~ /($subcadena){2,}/)
         {
           $res=1;
         }
         else{

          $res=0;
          }
        if($res==1 && length($subcadena) > length($aux)){

          $aux=$subcadena;
           }
          }
          $e=$i;
          $subcadena="";
}
print "\n$aux";



el problema es que no me esta filtrando bien el if de si se repite o no, si alguien me da una mano en donde puede estar el erro se lo agradeceria mucho.
Desde ya muchas gracias, Elesar