Rechercher : dans
Par :

[PERL] la commande push et une table de hash

Dernière réponse le 5 nov 2007 à 07:20:37 yannou15, le 4 nov 2007 à 15:14:44 
 Signaler ce message aux modérateurs

Bonjour,

je m'excuse par avance si la réponse a déjà été donnée, j'ai cherché (rapidement) et je n'ai pas trouvé.

Voici mon problème :

- j'ai un fichier CSV que je met dans une table de hachage pour pouvoir le manipuler. Je lis le fichier ligne par ligne et en séparant avec split et j'affecte mes valeurs dans une table de hachage.

- je veux ensuite garder mes tables de hachage créées à chaque ligne dans un tableau.

je fais donc un push (@tab,{%hash});

Mais mon tableau ne récupère que le pointeur vers cette table de hachage, ce qui est nettement plus embetant pour moi.





Est il possible avec la commande push d'affecter à mon tableau une table de hachage (clés et valeurs) plutot que l'adresse du pointeur ?




Merci d'avance

Cdt.

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « [PERL] la commande push et une table de hash » dans :
Liste des commandes Windows VoirRemarques : Certaines commandes sont dangereuses (l’exemple de SYSKEY) et peuvent causer des problèmes pouvant conduire au formatage. D’autres commandes ne sont pas exécutables sous Windows XP ou des versions antérieures, je ne les ai pas...
Introduction à la notion de tableur VoirAvant propos Si, lors de l’apparition de l’informatique, les traitements de texte semblaient être essentiellement destinés aux secrétaires, les systèmes de gestion de base de données (SGBD), aux comptables et aux services commerciaux, les...
Commandes Linux VoirTableau des principales commandes Linux Commande Description équivalent DOS ls liste le contenu d'un répertoire dir cd change de répertoire cd cd .. répertoire parent cd.. mkdir crée un nouveau...
Les variables avec Perl VoirConcept de variable avec Perl Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage Perl peuvent être de trois...

1

lami20j, le 4 nov 2007 à 22:58:45

Salut,

en fait tu ne sais pas accéder à ton hash

Voici un exemple, à toi d'adapter

#!/usr/bin/perl
use strict;use warnings;

my (@tab, %h1, %h2);

%h1 = (
        cle1 => 'toto',
        cle2 => 'titi',
      );

%h2 = (
        cle3 => 'tata',
        cle4 => 'tutu',
      );

push @tab,\%h1,\%h2;

foreach (@tab){
        foreach my $k(sort keys %{$_}){
                print "$k => $_->{$k}\n";
        }
}

lami20j

Répondre à lami20j

2

yannou15, le 5 nov 2007 à 01:05:35

Merci,

en fait j'ai utilisé cette façon de faire, mais en faisant directement une table de hachage de tables de hachage, cela revient quasiment au même en fait.

Répondre à yannou15

3

 lami20j, le 5 nov 2007 à 07:20:37

Salut,

affiche ton code pour voir, ainsi qu'une partie de fichier que tu traites.
quelques explications pour comprendre ce que tu veux faire seront bienvenues.
lami20j

Répondre à lami20j
Collection CommentÇaMarche.net