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
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