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

Programmation et administration système Perl Discussion :

problème script Perl


Sujet :

Programmation et administration système Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 11
    Par défaut problème script Perl
    Bonjour, c'est le premier script en Perl que je fait et j'ai un peu de mal avec ,
    je dois faire un script qui se connecte sur les equipement en telenet pour prendre le fichier de log.
    voici le script Pas fini mais j'ai deja des erreur

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    #!/usr/bin/perl -w
    use strict;
    use warnings;
    my $i;
    my $choix;
    my $nom;
    my $ip;
    my $telnet;
    my $username="admin";
    my $passwd="motsdepasse";
    unshift(@INC,"C:/Perl/site/lib");
    use Net::Telnet;
    use Net::SNMP;
    my $HOST=('$ip');
    my $HOSTS=('$nom');
    my $snmp_port = 161;
    my $oid = « 1.3.6.1.4.1.318.1.1.12.1.5, 1.3.6.1.4.1.318.1.1.12.1.1 »;
    my $host = « $ip »;
    my $community = « private » 
    my ($session, $error) = Net::SNMP->session(-hostname = $host,-timeout = 3,-retries = 1,-community = $community,-port = $snmp_port);
    do 
    {
    print "vous voulez recherche par nom ou Par adresse Ip ?\n";
    print "nom=1 et Adresse Ip=2 Quitter=3\n";
    print"choix:";
    $choix=<STDIN>;
     
    if( $choix == 1 )
    {
    	print"vous avez fait le choix 1 \n";
    	print"Saisir un nom : ";
    	$nom=<STDIN>;
    	$telnet->open($HOSTS);
    	$telnet->login($username, $passwd);
    	@ $oid 
     
     
    }
    elsif( $choix == 2 )
    { 
    	print"vous avez fait le choix 2\n";
    	print"saisir une adresse IP :";
    	$ip=<STDIN>;
    	$telnet->open($HOST);
    	$telnet->login($username, $passwd);
    	@ $oid
    	}
    else
    {
    	print"vous avez fait aucun choix \n";
     
    }
    } until( $choix==3);
    voila l'erreur


    desole j'ai flooter un peu le dossier personnel.

    donc je dois faire un petit script qui va sur l'adresse de l'équiment et remonter par smnp les info .

    donc j'ai un peu de mal c'est pour ca que je demande votre aide .

    merci Scrathi

  2. #2
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 11
    Par défaut
    apres, avoir relu j'ai vu mon erreur il arrivais pas trouver le fichier en question ,

    mais maitenant j'ai une autre erreur
    unrecognized charater \xAB ligne 17 ..

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

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

    Ce sont tes guillemets qui délimitent une chaîne de caractère qui posent problème. Ils devraient être une double quote -> " (en dessous du chiffre 3)

    Ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    my $oid = « 1.3.6.1.4.1.318.1.1.12.1.5, 1.3.6.1.4.1.318.1.1.12.1.1 »;
    my $host = « $ip »;
    my $community = « private »
    devrait être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    my $oid = "1.3.6.1.4.1.318.1.1.12.1.5, 1.3.6.1.4.1.318.1.1.12.1.1";
    my $host = $ip;
    my $community = "private"
    Remarques :
    - pour ta variable $host les doubles quotes ne sont pas nécessaires puisque que $ip est une variable.
    - ta variable $oid est une chaîne de caractère . Si tu veux un tableau tu devras modifier ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my @oid = ("1.3.6.1.4.1.318.1.1.12.1.5" , "1.3.6.1.4.1.318.1.1.12.1.1");

  4. #4
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 11
    Par défaut
    Merci bien, une faute d'inattention ,

    mais maitenant il me fait un autre erreur

    global symbol"$sessions" requires explicit package name ligne 20
    global symbol"$error" requires explicit package name ligne 20

    Donc je leur attribué une variable
    my $session;
    my $error;

    et donc il me fait ca actuellement syntax error at line near "my"

    donc je comprend pas du tout ...

  5. #5
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    L'erreur se situe sans doute à la ligne précédente le my en question. Par exemple, il manque peut-être un point-virgule à la fin de l'instruction. Peux-tu donner le contexte du code à cet endroit (avec le numéro de ligne) ?

  6. #6
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 11
    Par défaut
    merci pour le temps accordé
    c'est ligne 22
    serait le petit tiret ?
    d'apres un site il le mettais donc je trouvais bizarre mais bon comme je connais pas j'allais pas remetre en doute .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my ($session, $error) = Net::SNMP-&gt;session(-hostname = $host,-timeout = 3,-retries = 1,-community = $community,-port = $snmp_port);
    merci

Discussions similaires

  1. problème script perl lancé par php sur un serveur
    Par Landraille dans le forum Web
    Réponses: 1
    Dernier message: 12/03/2013, 14h37
  2. Problème script Perl Gtk2 -> .exe standalone
    Par phoenix420 dans le forum Interfaces Graphiques
    Réponses: 50
    Dernier message: 04/04/2012, 17h14
  3. Problème script perl avec STDIN
    Par deimosfr dans le forum Langage
    Réponses: 2
    Dernier message: 23/07/2009, 10h22
  4. Problème Script Perl : Proxy Authentication Required
    Par Flipmode dans le forum Langage
    Réponses: 5
    Dernier message: 09/07/2009, 17h23
  5. Problème execution script perl
    Par 00sebbe dans le forum Apache
    Réponses: 1
    Dernier message: 29/08/2005, 14h43

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