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 :

impossible de lire mon hach


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
    Septembre 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 13
    Par défaut impossible de lire mon hach
    bonjour tout le monde.

    Voici mon probleme:

    J'ai un hachage obtenu avec une requette snmp:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $session->get_table( -baseoid => $oid ) ;
     
    $response = $session->var_bind_list;
    Mon probleme est que je n'arrive pas à acceder au valeur.
    Pour, quand je regarde ce que contient mon hach, j'obtient:

    %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...
    );

    Alors, j'essaye d'afficher avec:

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

    et je n'obtient rien...
    est-ce à cause des points dans la clefs...?[/code]

  2. #2
    Invité
    Invité(e)
    Par défaut
    En mettant des simples quotes, ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print $response{'1.3.6.1.2.1.31.1.1.1.18.25'};

  3. #3
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Non, c'est parce que $response n'est pas un hash, mais une référence sur un hash, il faut donc que tu utilises la syntaxe pour les références, ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print $response->{'1.3.6.1.2.1.31.1.1.1.18.25'};
    Ou éventuellement que tu déréférence $response.

    --
    Jedaï

  4. #4
    Invité
    Invité(e)
    Par défaut
    Non, car kowalsky a déclarer son hash juste avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    %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');
    $response n'est donc pas une référence. Il aurait été référence s'il avait fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $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'};
    Or ce n'est pas le cas.

  5. #5
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Non, il dit que c'est ce qui est contenu dans son hash, mais regarde comment il récupère son hash :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $response = $session->var_bind_list;
    Il s'agit donc d'une référence sur un hash très probablement (vérification faite dans la doc, c'est bien le cas).

    --
    Jedaï

  6. #6
    Invité
    Invité(e)
    Par défaut
    1000 excuses, je ne parlais pas de cette ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $response = $session->var_bind_list;

Discussions similaires

  1. impossible de lire ni graver avec mon graveur
    Par bucabuca dans le forum Périphériques
    Réponses: 7
    Dernier message: 17/05/2012, 20h11
  2. Impossible de lire un son sur mon Galaxy Ace
    Par Chabanus dans le forum Android
    Réponses: 0
    Dernier message: 25/03/2012, 11h52
  3. [RMI] Impossible de lancer mon serveur
    Par Dahu dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 11/06/2006, 09h17
  4. [VB.NET] Impossible de lire le contenu du datagrid
    Par jagdjg dans le forum ASP.NET
    Réponses: 2
    Dernier message: 05/05/2004, 21h51
  5. Impossible de quitter mon application!
    Par Bouillou dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/11/2002, 20h43

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