Table de hachage contenant des listes

Table de hachage contenant des listes - Perl - Programmation

Marsh Posté le 02-02-2005 à 04:15:58    

J'ai un fichier dictionnaire contenant des lignes du genre "chaise,
fauteuil=seat, chair" (plusieurs mots français pour plusieurs mots
anglais - plusieurs traductions d'un même mot français peuvent être
données à plusieurs lignes différentes): le but est de créer un
tableau associatif qui prend comme clef un mot français et qui renvoie
la liste des mots anglais correspondants. Dans l'exemple, ça devrait
créer une structure du genre:
 
chaise=>(chair,seat)
fauteuil=>(chair,seat)
 
J'ai fait:
 
%traductions=();
while (<PREMIER> ){
    chomp;
    ($gauche, $droite)=split(/=/,$_);
    @mots_gauche=split (/, /, $gauche);
    @mots_droite=split (/, /, $droite);  
    for $mot  (@mots_gauche){
 if (!defined($traductions))
 {
     $traductions=@mots_droite;
 }else{
     $traductions=($traductions, @mots_droite);
                               
 
        }
          print $traductions;  
  }
 
}
 
 
Et ça ne marche pas: au lieu de sortir les traductions anglaises
(complétées au fur et à mesure), ça m'imprime une suite de chiffres
(ce qui laisse penser que les listes sont interprétées dans un
contexte scalaire). J'ai jonglé un peu en remplaçant les "$" par des
"@" ou par des "@{$", ou en remplaçant
"$traductions=($traductions, @mots_droite);" par
"$traductions=($traductions, \@mots_droite);" (en adaptant
des exemples trouvés sur le web), mais ça ne marche pas (au mieux, si
je mets l'argument du print entre crochets, ça m'imprime des
ARRAY(0x806cc30): comme ça ressemble à un pointeur sur un tableau,
j'essaie de lui demander le n-ième élément en le fournissant entre
crochets, mais ça ne donne rien.)

Reply

Marsh Posté le 02-02-2005 à 04:15:58   

Reply

Marsh Posté le 02-02-2005 à 09:24:26    

un conseil pour le débug : essaie d'utiliser les modules Data::Dump ou Data::Dumper

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed