Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: <<The Joker>> en 19 Enero 2006, 20:42 pm



Título: CONCATENACION DE CADENAS EN PERL <<URGENTE>>
Publicado por: <<The Joker>> en 19 Enero 2006, 20:42 pm
Saludos de nuevo a la comunidad de elhacker.net.

Esta vez acudo a ustedes para aclarar otras dudas que me tienen DE CABEZA...  continuando con  el mismo proyecto que les comente antes (ARCHIVOS EN PERL), necesito aclarar otras dudas antes que me boten de este trabajo  :rolleyes: .

Estoy editando una serie de archivos HTML, es una aplicacion de contenido dinamico. La cosa es la siguiente:

Estoy levamtando en memoria una serie de archivos (planos y html) para luego manipularlos y mandarlos a salir por algun Browser... el rollo es en UN CASO EN ESPECIAL.... necesito concatenar  ciertos campos para luego intercambiar toda la cadena por un Marcador dentro del HTML.

EXPLICACION DE MI APLICACION
[/size]
si te da fastidio entender lo que hace ESTA APLICACIOIN DETALLADAMENTE SALTA ESTE PARRAFO

En este punto del proyecto, tengo  3 campos que necesito montados en memoria almacenados en un arreglo (@resultado) este resultado debo meterlo dentro de un tag HTML , (ejemplo: EQUIPO1 4 contra EQUIPO2 5) el asunto es que son varios resultados y necesito meter ese arreglo "Resultado" en dos formatos distintos HTML (resultado es cargado cada vez que se necesita) ahora... al momento de concatenar los las variables, me retorna VACIO y no me muestra nada en el HTML

El codigo que tengo es este:
si no quieres leer el codigo, al final digo mas claramente que es esactamente lo que necesito

if (@contenedorHTML[$i]=~/TABLAuno/){
                   foreach $temporal(@cate1){
                @resultado="";
                if ((@cate1[$e]=~/INIRESUL/)||($logico1==1)){
                   $e++;
                   $j=0;
                   $logico1=1;
                        @resultado=split(/@/,@cate1[$e]);
                        #AKI EDITO EL HTML LINEA1 Y LINEA2 Y CONCATENO
                        if ($e%2==0){
                        foreach $temporal2(@contenedorLINEA1){

                                        if (@contenedorLINEA1[$j]=~/RESUL@arcosB/){@contenedorLINEA1[$j] =~ s|RESUL@arcosB|@resultado[0]|;}
                                        if (@contenedorLINEA1[$j]=~/COLE@contriB/){@contenedorLINEA1[$j] =~ s|COLE@contriB|@resultado[2]|;}
                                        if (@contenedorLINEA1[$j]=~/RESUL@contriB/){@contenedorLINEA1[$j] =~ s|RESUL@contriB|@resultado[1]|;}
                                        $j++;
                                    }
                                    $h++;
                                        $temporal2=$temporal2.@contenedorLINEA1;
                                        #print(@contenedorLINEA1);
                                    }

                        if ($e%2==1){
                        foreach $temporal3(@contenedorLINEA2) {
                                        if (@contenedorLINEA2[$j]=~/RESUL@arcos/){@contenedorLINEA2[$j] =~ s|RESUL@arcos|@resultado[0]|;}
                                        if (@contenedorLINEA2[$j]=~/COLE@contri/){@contenedorLINEA2[$j] =~ s|COLE@contri|@resultado[2]|;}
                                        if (@contenedorLINEA2[$j]=~/RESUL@contri/){@contenedorLINEA2[$j] =~ s|RESUL@contri|@resultado[1]|;}
                                        $j++;
                                        }
                                        $h++;
                                        $temporal3=$temporal3.@contenedorLINEA2;
                                        # print(@contenedorLINEA2);
                                    }

                    if($h==2){$temporal=$temporal.$temporal2.$temporal3;
                              $temporal2="";
                              $temporal3="";
                              $h=0;
                           }




                   }

                 if ($logico1==0){$e++;}
                    }
                    #$logico1=0;


          @contenedorHTML[$i] =~ s|TABLAuno|$temporal|;$i++;
          $temporal="";

          }


Un colega me comento que con "." se puede concatenar dependiendo del contexto en que uses ese "."

LA PREGUNTA QQUE NECESITO RESPONDER ES:

Como puedo concatenar UNA VARIABLE CON UN ARREGLO... y luego COMO CONCATENO ESE ARREGLO A OTRO ARREGLO FINAL... (imagino que sera igual)... solo necesito ayuda para concatenar valores almacenados en memoria ...

GRACIAS..




Título: Re: CONCATENACION DE CADENAS EN PERL <<URGENTE>>
Publicado por: Firos en 22 Julio 2006, 14:16 pm
Si con concatenar te refieres a unirlas aquí te pasteo una parte del code de un bot que tiene un nick y, si el bot esta pillado en el servidor, le añade al final del nick 3 digitos:

Asi lo concatenas con el resultado de una función.
Código:
$sn00py .= int(rand(999));

Asi concatenas variables:
Código:
$var1 = "Hola";
$var2 = " pepe\n";

$var3 = $var1 . $var2;
print $var3;

Citar
firos@sn00py:~/Programacion/pruebaselhacker.net$ perl concatenar.pl
Hola pepe
firos@sn00py:~/Programacion/pruebaselhacker.net$


Y si lo que quieres es concatenar el resultado de un array primero tendras que hacer la seleccion de ese array en concreto y saber en que variable esta o pasarla a otra variable para despues unirla a donde quieras.

Saludetes