Re-bonjour,
En perl, je souhaite transferer une zone memoire, correspondant a une
structure C, dans des variables (chaque variable correspond a un des champs
de la structure).
En C :
type def struct {
int a;
float b;
char c[10];
} foo;
En Perl :
# $a, $b et $c sont mes variables ou je veux ranger ma structure.
# $foo contient la structure (binaire)
$struct = "ifa10';
($a, $b, $c) = unpack($struct, $foo);
Comme j'ai un grand nombre de variables, et que je souhaite aussi pouvoir
re-sauver ces variables dans la structure binaire, j'aimerais trouver un
moyen pour simplifier l'ecriture.
Mon idee etait de creer un tableau p contenant mes variables (ou des
reference a mes variables, ou autre) afin de remplacer :
($a, $b, $c) = unpack($struct, $foo);
# et
$foo = pack($struct, $a, $b, $c);
par quelque chose du genre :
@p = unpack($struct, $foo);
# et
$foo = pack($struct, @p);
Ce que je ne sais pas, c'est comment declarer mon tableau p pour que
l'affectation modifie les variables contenues dans le tableau ($a, $b et
$c).
Quelqu'un aurait-il une solution ? Merci d'avance.
--
Frederic
"Nous vivons une epoque moderne, le progres fait rage..." (Philippe Meyer)