PERL : grep sur les clefs d'un hash

Résolu/Fermé
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 - 22 oct. 2008 à 15:34
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 - 22 oct. 2008 à 17:29
Bonjour,

Je souhaiterais obtenir une liste (ou tableau) des clefs d'un hash contenant une chaine.


Ex :

Le hash contient :

clef_numero_1 --> 20
clef_numero_2 --> 30
clef_toto_4 -->40
clef_toto_60 -->60
clef_numero_3 --> 100

et je voudrais que @lesbonnesclef contienne toutes les clefs contenant toto :

@lesbonnesclef = (clef_toto_4, clef_toto_60);

je pensais faire un truc du genre :
my @lesbonnesclef = grep ($_ eq "toto", keys(%hash));

mais ça ne semble pas fonctionner ...


Merci d'avance.

Stéphane

1 réponse

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
22 oct. 2008 à 17:09
Salut,

essaie
my @lesbonnesclef = grep { /^toto$/ }  keys %hash; 
0
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
22 oct. 2008 à 17:29
presque ...

my @lesbonnesclef = grep { /^toto/ } keys %hash;

et c'est nickel ;)

Je touche au but, suis en congé la fin de semaine, je te ferais un mail et un post sur le fils antérieurs la semaine prochaine !!

Merci encore.

Stéphane
0