Forum Programmation.perl afficher table de hachage

Posté par  .
Étiquettes : aucune
0
27
fév.
2006
bonjour tout le monde.

Je suis le "absolute beginner", et j'aimerais
savoir si il y a un moyen en Perl d'afficher tout le
contenue d'une table de hachage.

J'obtient ma table en faisant:


$response = $session-#get_table( -baseoid =#; $oid ) ;


ps: desolé pour cette question, mais je trouve pas...!
pps: je n'arrive pas à afficher les "plus grand que", c'est
remplacé par #
  • # Sur le pouce.

    Posté par  . Évalué à 3.

    foreach $key (sort keys %myhash) {
    $val = $myhash{$key};
    print "Key $key has value $val\n";
    }
    • [^] # Re: Sur le pouce.

      Posté par  . Évalué à 2.

      donc dans mon cas:

      foreach $key (sort keys %response) {
      $val = $myhash{$key};
      print "Key $key has value $val\n";
      }

      Mais il ne me retourne rien...

      Comment obtenir $key


      je sais que c'est des questions stupide, mais je suis bloqué...!!!
      • [^] # Re: Sur le pouce.

        Posté par  . Évalué à 2.

        Je ne vois pas d'où vient le problème. Tu es sûr que ton hash n'est pas vide ?
      • [^] # Re: Sur le pouce.

        Posté par  . Évalué à 2.

        $val = %reponse->{$key};
  • # Data::Dumper

    Posté par  . Évalué à 4.

    Pour avoir une idee rapide :

    require Data::Dumper;

    my %hash;

    %hash ->{toto} = 'tata';

    print Data::Dumper->Dump([\%hash],['*hash']);
    • [^] # Re: Data::Dumper

      Posté par  . Évalué à 2.

      bon, je n'y comprend plus rien...! :)

      print Data::Dumper->Dump([\%$response],['*response']); me retounre:


      %response = (
      '1.3.6.1.2.1.31.1.1.1.18.25' => 'raptor',
      '1.3.6.1.2.1.31.1.1.1.18.11' => 'pouet',
      '1.3.6.1.2.1.31.1.1.1.18.18' => 'deck',
      '1.3.6.1.2.1.31.1.1.1.18.3' => 'pepo',
      '1.3.6.1.2.1.31.1.1.1.18.8' => 'dino',
      '1.3.6.1.2.1.31.1.1.1.18.9' => ' tintin',
      etc...
      );

      mais:

      foreach $key (sort keys %response) {
      $val = $response{$key};
      print "Key $key has value $val\n";
      }

      ne me retourne rien...

      d'ailleurs:

      print $response{"1.3.6.1.2.1.31.1.1.1.18.25"};
      print $response{1.3.6.1.2.1.31.1.1.1.18.25};

      est-ce à cause des points dans la clefs...?
      • [^] # Re: Data::Dumper

        Posté par  . Évalué à 1.

        pas
        $val = $response{$key};

        mais

        $val = %response->{$key};


        $reponse c'est une autre variable

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.