Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/09/2008, 07:15
viktoria
 
Fecha de Ingreso: septiembre-2006
Mensajes: 349
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: can't call the method __get an undefined value

Gracias!
Fallo "==". Teien que ir "eq" (en php es el mismo para string o numericos). Una cosa mas para aprender.

Si me puedes echar un vistazo a esta funcion.
Estan todas las variables iniciadas, los bucles serrados y peta. con el mismo error.
Código PHP:
sub Criptar{
        
my $self=shift;
        
my $param1 shift;
        
my $encrypt "";
        for (
my $i=0;$i<length($param1);$i++) {
            
my $caracter substr($param1$i1);
                 
$encrypt .= $caracter $self->{key}[$i &#37; length($self->{key})];
            
$encrypt encode_base64($encrypt"");
            return 
$encrypt;
        }
    } 
Un cordial saludo, VIctoria

Gracias ya lo resolvi!
Quedaria asi


sub Criptar{
my $self=shift;
my $param1 = shift; #string to encode
my $encrypt = "";
my $part = "";
for (my $i=0;$i<length($param1);$i++) {
$part = substr($self->{key}, $i % length($self->{key}), 1);
$encrypt = $encrypt . ((substr($param1, $i, 1) ^ $part));
}
$encrypt = encode_base64($encrypt, "");
return $encrypt;
}

El perl no puede devolver una parte de string de esta forma

$string = "asdasa";
print ($string[2]); // peta porque no puede!
El php devolve "d".

Un cordial saludo, Victoria

Última edición por viktoria; 16/09/2008 a las 09:14