Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
481 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  tableau en perl

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

tableau en perl

n°1471314
texaff
Posté le 06-11-2006 à 18:38:41  profilanswer
 

je ne connais absolument rien en perl ... j'ai lu la doc sans succes et pourtant je veux faire un truc qui me parait vraiment simple ( pas besoin de me dire va voire la >> google ou autre)  
 
comment faire un :  
en php
<? foreach ($tableau as $key => $val ) {
echo $key.$val;
}
?>
 
en pearl?
 
mon tableau c'est ca :  
 
my $liste_pays_en_1 = {        
  'France'=>'France',
  'Etats-Unis'=>'United States',
  'Grande Bretagne'=>'United Kingdom',                            
  'Japon'=>'Japan',
  'Belgique'=>'Belgium',
  'Suisse'=>'Switzerland'
  };
 
 
encore mieux... apres je veux trier  par rapport a la valeur (pays en anglais) ce tableau pour avoir un affichage  
du type  
                         'Belgique'=>'Belgium',
  'France'=>'France',
  'Japon'=>'Japan',
  'Suisse'=>'Switzerland'
  'Grande Bretagne'=>'United Kingdom',                            
  'Etats-Unis'=>'United States',
 
alors la autant dire que la fonction sort (j'ai eu beau la retourner dans tout les sens je n'y arrive pas )  avec une tentative du genre  
foreach my $variable ( sort values %$liste_pays_en_1 ) {
}
 
mais il me garde que les pays anglais (bien trier certe..)
 
Aidez moi svp
 
 

mood
Publicité
Posté le 06-11-2006 à 18:38:41  profilanswer
 

n°1471421
matafan
Posté le 07-11-2006 à 04:06:57  profilanswer
 

Ton truc c'est pas un tableau, c'est un hash. Ou plus exactement, $liste_pays_en_1 est la référence d'un hash annonyme. Enfin bref, l'idée c'est de fournir ta propre routine sort() qui va trier sur les valeurs :
 

#!/usr/bin/perl -w
 
use strict;
 
my $en = {
        'France'=>'France',
        'Etats-Unis'=>'United States',
        'Grande Bretagne'=>'United Kingdom',
        'Japon'=>'Japan',
        'Belgique'=>'Belgium',
        'Suisse'=>'Switzerland'
};
 
foreach my $fr (sort {$en->{$a} cmp $en->{$b}} keys %$en) {
        print "'$fr' => '$en->{$fr}',\n"
}


Message édité par matafan le 07-11-2006 à 04:07:21
n°1471554
texaff
Posté le 07-11-2006 à 12:25:26  profilanswer
 

parfait c'est exactement ca... merci beaucoup!  
 
en gros il faut que je comprenne ce que c'est qu'un hash par rapport a un tableau ! je vais faire des recherches.

n°1473026
gen2
Posté le 09-11-2006 à 14:56:52  profilanswer
 

Une table de hachage est indexée par des chaines de caractères ('toto', 'titi', 'tata', ...), un tableau par des nombres (0, 1, 2, ...).
Voilà en gros pour la différence.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  tableau en perl

 

Sujets relatifs
Classement d'un tableau (clés ET valeurs) aidez moi avec perl :mettre les données d'un fichier dans un tableau
[PERL] fonction Split et tableau HTML[perl] tableau et hash
[Perl] Effacer éléments du tableau[Perl] Utiliser un tableau d'une subroutine
[perl] Créer un tableau à 2 dimensions[Perl] itérer sur les valeurs d'un tableau de hash de hash...
lire et mettre un octet dans un tableau sous PERL[PERL] remplacement de partie dans un tableau
Plus de sujets relatifs à : tableau en perl


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR