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 :

Probleme affichage de resultat de requete


Sujet :

Langage Perl

  1. #1
    Membre averti

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 246
    Points : 402
    Points
    402
    Par défaut Probleme affichage de resultat de requete
    Bonjour,

    Debutant en Perl, je dois effectuer des requetes SNMP vers un switch pour recuperer certaines valeurs via la MIB Cisco. Cette partie se passe assez bien puisque la connection a l'air de fonctionner, mais je ne parvient pas a afficher les informations lu (par exemple la bande passante de l'interface, ou la temperature etc...). Si je regarde le contenu de la variable "result", elle contient 0 ou 1, ce qui correspond au retour de la commande a ce que j'ai pu comprendre.

    Comment faire pour connaitre la valeur de la donnee que je check ?

    voici le code :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    #! /usr/local/bin/perl
     
    use strict;
    use warnings;
    use Net::SNMP;
     
    my $OID = '1.3.6.1.2.1.2.2.1.5';
     
    my ($session, $error) = Net::SNMP->session(
    	-version		=> 'snmpv2c',
    	-nonblocking	=> 1,
    	-hostname		=> shift || '192.168.90.100',
    	-community	=> shift || 'public',
    	-port			=> shift || 161
    );
     
    my $result = $session->get_request(-varbindlist => [$OID],);
     
    if(!defined $result){
    	printf "ERROR: %s.\n", $session->error();
    	$session->close();
    	exit 1;
    }
     
    $session->close();
    exit 0;
    Ici un :
    me renvoit la valeur 0 ou 1

    et si je tente un :
    j'obtient l'erreur suivante :
    Can't use string ("1") as a HASH ref while "strict refs" in use at /root/workspace/Plugin Nagios/test_SNMP2.pl line 24.
    la ligne 24 etant la ligne correspondant au Quelqu'un peut-il m'aider ?

    En vous remerciant,
    Michon

  2. #2
    Membre confirmé Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Points : 515
    Points
    515
    Par défaut
    Bonjour,

    Je n'ai jamais utilisé ce module mais en regardant la doc sur CPAN, je pense avoir une idée.

    Ta commande get_request te retourne un booléen (0 ou 1) car tu es en mode non bloquant, en mode bloquant ta méthode marcherait.

    Regarde du côté des exemples 3 et 4 de la doc CPAN (http://search.cpan.org/~dtown/Net-SN...MP.pm#EXAMPLES) pour voir comment récupérer ton résultat car ce n'est pas pareil si tu es en mode bloquant ou non bloquant.

  3. #3
    Membre confirmé
    Avatar de Schmorgluck
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 371
    Points : 558
    Points
    558
    Par défaut
    J'ai trouvé pareil que Beniou. Plus précisément, quand tu crées ta session, tu indiques -nonblocking => 1,, tu es donc en mode non-bloquant.

  4. #4
    Membre averti

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 246
    Points : 402
    Points
    402
    Par défaut
    En effet, en passant en mode bloquant cela fonctionne...
    Je pense que dans un premier temps je vais faire ainsi, du moins le temps de réussir a afficher les résultats en non-bloquant, car j'ai du mal a comprendre vraiment les exemples sur CPAN, surement a cause de mon manque de pratique du langage.

    Si je parvient a faire marcher la chose en non-bloquant, je posterais la solution. En attendant, le mode bloquant me débloque (joli jeu de mot pas voulu...)

    Merci à vous 2 pour vos réponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Oracle] probleme d'affichage des resultats de la requete select
    Par gigabit32 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/06/2011, 18h22
  2. [AJAX] Affichage Resultat Requete
    Par italiano1360 dans le forum AJAX
    Réponses: 14
    Dernier message: 08/03/2011, 08h12
  3. Probleme affichage de resultat
    Par adreno dans le forum Langage
    Réponses: 6
    Dernier message: 22/06/2009, 16h17
  4. Réponses: 1
    Dernier message: 09/05/2008, 00h07

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