[eside-ghost] ACII a hex en perl
Ramón Echávarri Escribano
ramandi en terra.es
Dom Dic 17 21:59:03 CET 2006
Perdón, antes no he respondido la duda...
No creo que puedas hacer lo que quieres con split. Al marcarle como
separador cualquier conjunto de dos caracteres, hay coincidencia con los dos
primeros, así que decide que el primer campo es la cadena nula (previa a tu
cadena de entrada); luego casa con los dos primeros, pero el problema vuelve
a repetirse cíclicamente. No sé exactamente cómo está implementada la
función, así que no puedo ser más concreto con cómo lo hace.
Vamos, que no es que split no haga lo que debe, sino que el separador no es
suficientemente específico como para que pueda hacerlo.
Tendrás que hacerlo con substr... no quedará tan bonito, pero no te dará
problemas.
Saludos,
Ramandi
----- Original Message -----
From: "Arkaitz" <arkaitzj en gmail.com>
To: "Lista de eside-ghost" <eside-ghost en deusto.es>
Sent: Sunday, December 17, 2006 6:15 PM
Subject: [eside-ghost] ACII a hex en perl
> Aupa,
> Ando toqueteando con perl y no me sale ese tema.
> Tengo una cadena de 32 caracteres que representa 16 bytes en hex y lo
> tengo que pasar a 16 bytes de verdad, el problema es que no hay
> caracteres de separación asi que tengo algun problemilla, lo mas
> cercano que he conseguido es esto.
>
> perl prueba.pl 3532335ffea9318314c3b68fbc251f35
>
> @splittext = split(/(.*{2})/,$ARGV[0]);
> $packed = pack("H2" x 16, $splittext);
>
> El rollo es que el split no devuelve lo que deberia, mete campos nulos
> entre todos los campos del array, quedando (35, ,32, ,33......)
> Y eso, alguna idea.
> Saludos
> --
> Arkaitz
>
----------------------------------------------------------------------------
----
_______________________________________________
eside-ghost mailing list
eside-ghost en deusto.es
https://listas.deusto.es/mailman/listinfo/eside-ghost
Más información sobre la lista de distribución eside-ghost