[PERL] remplissage de table de hachage [Fermé]

Signaler
-
Messages postés
5580
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
23 juin 2021
-
Bonjour,

Je cherche comment faire pour remplir une table de hachahe d'elements extraints à partir d'un texte
voilà mon petit bout de code qui cré une table de hachage en l'initialisant, et qui extrait les element du texte à stocker dans la table de hachage
Merci pour votre aide

#!/usr/bin/perl 
use strict;
use warnings;
my %h = ();
my $InFile = "/home/cyrine/restri";
open my $fh_infile, '<', $InFile or die "Can't open $InFile\n";
 
while ( my $Ligne = <$fh_infile> ) {
  if ( $Ligne =~ /^(.*?)\->/ ) {
    # traiter $substring
    print $1; 
    # inserer le contenu de $1 dans la table de hachage
 
  }     
}
close $fh_infile;


2 réponses

Messages postés
5580
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
23 juin 2021
937
Salt cyrine,

L'usage normal des tables de hachage Perl est d'associer une clef à une valeur.

Par exemple :

my %h = ();      
$h{"toto"} = "chic type";      
$h{"titi"} = "gros canari jaune";

Or, dans ton code, tu ne semble vouloir conserver qu'une seule donnée par itération de ta boucle, et non une paire de données associées.

Si le but de ton utilisation de la table est juste de savoir si cet élément est présent, tu peux te contenter de créer des entrées avec les clefs, en laissant les valeurs correspondantes vides. Alors, dans ta boucle, tu mettras :

$h{$1}="";

En faisant cela, tu pourras vérifier l'existence d'une entrée dans la table, en vérifiant si la clef existe :

if (exists( $h{"titi"})) {      
    print "La clef 'titi' existe\n";      
}

énumérer les clefs, les classer, etc.

Si ce n'est pas ce que tu veux faire, explique toi un peu mieux, stp.


Dal
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
8536
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
8 mai 2021
1 673
http://www.commentcamarche.net/forum/affich-26146339-remplissage-de-table-de-hachage-perl