[Perl] - Récupération infos hash
gorkimat
Messages postés
70
Date d'inscription
Statut
Membre
Dernière intervention
-
gorkimat Messages postés 70 Date d'inscription Statut Membre Dernière intervention -
gorkimat Messages postés 70 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Voila, j'ai un petit soucis en perl. Je souhaiterais parcourir un hash à deux clés a partir de la première clé, mais je n'y arrive pas avec le foreach.
Voici mon code :
$h->{'1','a'} = "1-a";
$h->{'1','b'} = "1-b";
$h->{'1','c'} = "1-c";
$h->{'2','a'} = "2-a";
$h->{'2','b'} = "2-b";
$h->{'2','c'} = "2-c";
$h->{'3','a'} = "1-a";
$h->{'3','b'} = "1-b";
$h->{'3','c'} = "1-c";
Et je souhaiterais par exemple récupérer :
i=2 donc je récupère :
'a' <-> 2-a
'b' <-> 2-b
'c' <-> 2-c
Merci pour votre aide, en espérant que je n'ai pas été trop confus dans mes explications.
Mathieu
Voila, j'ai un petit soucis en perl. Je souhaiterais parcourir un hash à deux clés a partir de la première clé, mais je n'y arrive pas avec le foreach.
Voici mon code :
$h->{'1','a'} = "1-a";
$h->{'1','b'} = "1-b";
$h->{'1','c'} = "1-c";
$h->{'2','a'} = "2-a";
$h->{'2','b'} = "2-b";
$h->{'2','c'} = "2-c";
$h->{'3','a'} = "1-a";
$h->{'3','b'} = "1-b";
$h->{'3','c'} = "1-c";
Et je souhaiterais par exemple récupérer :
i=2 donc je récupère :
'a' <-> 2-a
'b' <-> 2-b
'c' <-> 2-c
Merci pour votre aide, en espérant que je n'ai pas été trop confus dans mes explications.
Mathieu
A voir également:
- [Perl] - Récupération infos hash
- Récupération de déchets - Guide
- Convertisseur récupération de texte - Guide
- Recuperation video youtube - Guide
- Recuperation message whatsapp supprimé - Guide
- Recuperation gmail - Guide
3 réponses
Re-bonjour,
J'ai trouver ça, mais je me demande s''il n'y a pas plus propre, et il me manque le "a,b,c" de la deuxième clé :-( ??
my %h = ();
$h->{'1','a'} = "1-a";
$h->{'1','b'} = "1-b";
$h->{'1','c'} = "1-c";
$h->{'2','a'} = "2-a";
$h->{'2','b'} = "2-b";
$h->{'2','c'} = "2-c";
$h->{'3','a'} = "3-a";
$h->{'3','b'} = "3-b";
$h->{'3','c'} = "3-c";
my $i=3;
foreach $key (sort keys %$h){
if (index ($key,$i) > -1){
print $h->{$key}."\n";
}
}
Mathieu
J'ai trouver ça, mais je me demande s''il n'y a pas plus propre, et il me manque le "a,b,c" de la deuxième clé :-( ??
my %h = ();
$h->{'1','a'} = "1-a";
$h->{'1','b'} = "1-b";
$h->{'1','c'} = "1-c";
$h->{'2','a'} = "2-a";
$h->{'2','b'} = "2-b";
$h->{'2','c'} = "2-c";
$h->{'3','a'} = "3-a";
$h->{'3','b'} = "3-b";
$h->{'3','c'} = "3-c";
my $i=3;
foreach $key (sort keys %$h){
if (index ($key,$i) > -1){
print $h->{$key}."\n";
}
}
Mathieu
Bonjour,
une petite question :
Y a-t-il une raison particulière pour laquelle tu utilises un hash à clé double(1) et non pas un hash de hash(2) ?
(1) Ton cas actuel :
(2) Hash de hash :
une petite question :
Y a-t-il une raison particulière pour laquelle tu utilises un hash à clé double(1) et non pas un hash de hash(2) ?
(1) Ton cas actuel :
$h->{'1', 'a'} = "1 - a" $h->{'1', 'b'} = "1 - b" ...
(2) Hash de hash :
$h->{1}->{'a'} = "1 - a"; $h->{1}->{'b'} = "1 - b"; ...