Forum Programmation.perl hash de array

Posté par  (site web personnel) .
Étiquettes : aucune
-1
29
oct.
2008
J'ai un petit soucis.

Je cherche à compléter un hash composé d'un array de clef qui pointe vers des valeurs. (en gros, c'est des macro #define C qui pointe vers le nom de fichier de définition de la macro en question )

open H, "<$dir/$file" || die "$!";<br /> <br /> @tmp= ;<br /> @tmp= grep { s/\#define //} @tmp; # keep only #define lines<br /> @tmp= map { /(^\S+)\s.*/} @tmp; # keep only keys not value<br /> @$data{@tmp} = ($file) x @tmp;<br /> <br /> close H;<br /> <br /> L'intérêt est de pouvoir faire des grep sur les "keys" et d'utiliser la clef pour pouvoir faire le bon include automatiquement.<br /> <br /> Maintenant cela se corse, j'ai besoin de la valeur à coté du nom de fichier à inclure.<br /> @value = map { /^\S+\s+(\S[\s\S]*\S).*$/ } @tmp;

Je cherche maintenant à avoir un hash qui pointe sur un array de taille 2 qui contient le nom du fichier et la valeur.

J'ai tenté un
@$data{@tmp} = [($file) x @tmp,@value];
sans succès !

Les perfs sont importantes @$data fait 100 000 lignes.

Vous avez une idée ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.