URL: https://linuxfr.org/forums/programmation-perl/posts/hash-de-array Title: hash de array Authors: Nicolas Boulay Date: 2008年10月29日T13:15:36+01:00 Tags: Score: -1 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 "$!"; @tmp= ; @tmp= grep { s/\#define //} @tmp; # keep only #define lines @tmp= map { /(^\S+)\s.*/} @tmp; # keep only keys not value @$data{@tmp} = ($file) x @tmp; close H; 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. Maintenant cela se corse, j'ai besoin de la valeur à coté du nom de fichier à inclure. @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 ?