[PERL] remplissage de table de hachage
cyrine
-
-
-
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
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;
A voir également:
- [PERL] remplissage de table de hachage
- Table ascii - Guide
- Table des matières word - Guide
- Tableau croisé dynamique ou table de pilote - Guide
- Table des caractères - Guide
- Excel remplissage automatique selon valeur ✓ - Forum Excel
2 réponses
Salt cyrine,
L'usage normal des tables de hachage Perl est d'associer une clef à une valeur.
Par exemple :
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 :
En faisant cela, tu pourras vérifier l'existence d'une entrée dans la table, en vérifiant si la clef existe :
énumérer les clefs, les classer, etc.
Si ce n'est pas ce que tu veux faire, explique toi un peu mieux, stp.
Dal
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