Comparaison de valeurs dans deux Hash - Perl - Programmation
Marsh Posté le 10-04-2008 à 16:21:07
y a certainement des modules pour faire ça, mais ça me vient pas là.
avec values %mon_hash, ça te file les modèles, après tu peux comparer, chercher des correspondances.
Marsh Posté le 10-04-2008 à 16:34:59
KuKrApOk a écrit : Si j'ai tout bien compris je devrais avoir un tableau ainsi si on l'imagine "humainement"
|
presque mais ratal , tu as
|key | value | |
ce n'est pas parce que ta variable s'appelait $enseigne; qu'il en va de même pour la colonne.
Par ailleurs les clés sont "uniques" dans une hash, tu ne peux pas avoir plusieurs éléments pour la même clé juste en faisant $collection1{$enseigne} = $modele;
Le plus simple va être de transformer ta 2eme colonne afin qu'elle contienne (une ref sur ) un tableau et non plus un simple element.
Une fois que tu auras réussi on passera à la fonction de comparaison de 2 hashs.
Mais voila déjà la recette du cookbook pour identifier les clés communes à 2 hashs.
Code :
|
ça devrait te donner des pistes
Marsh Posté le 10-04-2008 à 16:12:48
Bonjour à tous,
Je viens ici vous exposer mon problème, car débutant en Perl, je n'arrive pas à trouver une réponse évidente a ma question à travers les divers pdf que le sujet que j'ai pu lire
je dispose de deux tableaux associatifs
%collection1
%collection2
je l'ai rempli ainsi (via une lecture dans un fichier)
%collection1 = (
$enseigne => $modele,
);
Si j'ai tout bien compris je devrais avoir un tableau ainsi si on l'imagine "humainement"
|Enseigne | Modèle |
--------------------
| Pegeot | 206 |
| Pegeot | 306 |
| Pegeot | 207 |
| Citroën | C2 |
| Citroën | C3 |
| Renault | R5 |
--------------------
je voudrais faire un test pour comparer les deux collections
Le but serait pour chaque enseigne, de regarder si les deux collections partagent au moins un modèle
Si oui, ajouter cette enseigne dans @commun, qui est un simple tableau
Si vous aviez une petit idée de comment faire cela, je vous en serais reconnaissant !