IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Problème avec un hash


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2006
    Messages : 33
    Par défaut Problème avec un hash
    Bonjour à vous.
    Je suis en train de faire un petit programme en perl manipulant un hash

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    $i=0;
    $j=100;
    if($i=0)
     {
       %tab("test1","$i");
       $i++;
       print($tab{test1});    # affiche la bonne valeur
       %tab("test2","$j");
       print($tab{test1});    #n'affiche plus la valeur
     
     }
     
    print("$i");
    print($tab{test1});  #n'affiche plus la valeur
    print($tab{test2});  #n'affiche plus la valeur
    Alors, pour résumé, quand je mofidie mon tableau, il écrase ce qu'il y a dedans à chaque fois, et quand je sors de ma boucle, les valeurs modifiées dans mon tableau ne sont plus présentes.

    Je suppose qu'il y a un problème dans ma façon d'ajouter des éléments de mon tableau mais je ne vois pas comment.
    Il existe une fonction delete mais pas de fonction add, si?

    De plus, qu'en est-il de la déclaration de ce genre de tableau ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 39
    Par défaut Hum
    Ton code n'est pas correct syntaxiquement. Je ne vois pas comment tu fais pour le faire tourner ...

    Tu peux tester ton programme en faisant perl -w script.pl.
    Outre les erreurs de syntaxes, Perl va identifier des constructions suspectes. Dans ton cas, il va tiquer sur if ($i=0) car tu veux certainement dire if ($i == 0).

    L'instruction %tab("test1","$i"); n'est pas correcte syntaxiquement.
    Je te suggère de lire la FAQ, les sections sur les tableaux et les hash.

    PerlPicker

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2007
    Messages : 244
    Par défaut
    Salut,

    Tout d'abord pense a utilise les pragmas strict et warnings au debut de ton code
    ça t'en aurais déja apprit pas mal sur tes erreurs

    Alors, pour résumé, quand je modifie mon tableau, il écrase ce qu'il y a dedans à chaque fois, et quand je sors de ma boucle, les valeurs modifiées dans mon tableau ne sont plus présentes.
    Déja je ne comprend pas comment il fait pour t'afficher les valeurs en dehors de ta condition (oui ton if est une condition et pas une boucle) ni même dedans d'ailleur, en tout cas je ne connais pas cette méthode de travail.

    en premier temps commence par déclarer ton tableau en début de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my %tab; # le tableau est pour le moment vide
    ensuite si tu veux ajouter un/des élément(s) dans ton tableau, dans ton code tu veux créer un élément test1 qui aura pour valeur $i
    $tab{test1} vaut maintenant $i

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #!/usr/bin/perl
     
    use strict;
    use warnings;
     
    my $i = 0;
    my %tab;
     
    $tab{test1} = $i;
    print $tab{test1},"\n";
    J'espere avoir pu t'aider et n'hésite pas au poser des questions si tu ne comprends pas quelque chose

    à plus tard

Discussions similaires

  1. Problème avec un HASH
    Par Quantactique dans le forum Langage
    Réponses: 9
    Dernier message: 16/05/2012, 16h12
  2. Problème avec un hash de tableau de hash
    Par hy00ga dans le forum Langage
    Réponses: 1
    Dernier message: 21/10/2011, 15h10
  3. [MySQL] problème avec la récupération de données hashées avec l'algorythme md5 dans ma BD
    Par roy-mustang dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/07/2011, 08h21
  4. Safari problème avec hash et position fixed
    Par Bill_Bob dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 16/05/2011, 17h30
  5. Problème avec un hash
    Par Crosser02 dans le forum Langage
    Réponses: 6
    Dernier message: 25/04/2009, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo