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 de concatenation (.)


Sujet :

Langage Perl

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 163
    Points : 90
    Points
    90
    Par défaut Problème de concatenation (.)
    Salut à tous,

    En fait je voulais créer un plugin en perl et là j'ai un petit problème...

    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
     
         ...
         13 use LWP::Simple;
         14 use strict;
         15 use diagnostics;
         16 use warnings;
         17 use Getopt::Long;
         ...
         24 my ($host_name,$service_name,$help_view);
         ....
         ....
         75 # Option de check_pacs
         76 GetOptions(
         77         "H|HOST=s" => \$host_name,
         78         "S|SERVICE=s" => \$service_name,
         79         "hel|hepl|help|aide" => \$help_view
         80 );
         81
         82
         83
         84 # HOST et SERVICE
         85 if (!defined ($host_name) || !defined ($service_name)){
         86         print "Ok: $host_name // $service_name";
         87         exit(0);}
         88
         89 else{
         90         print $manuel_view;
         91         exit(1);
         92 }
         93
         94 if ($help_view) {
         95         print $manuel_view;
         96         exit(0);
         97 }
    Et là je reçois le message d'erreur, je me tue à chercher ou est l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Use of uninitialized value in concatenation (.) or string at ./check_pacs line 86 (#1)
        (W uninitialized) An undefined value was used as if it were already
        defined.  It was interpreted as a "" or a 0, but maybe it was a mistake.
        To suppress this warning assign a defined value to your variables.
     
        To help you figure out what was undefined, perl tells you what operation
        you used the undefined value in.  Note, however, that perl optimizes your
        program and the operation displayed in the warning may not necessarily
        appear literally in your program.  For example, "that $foo" is
        usually optimized into "that " . $foo, and the warning will refer to
        the concatenation (.) operator, even though there is no . in your
        program.
    Merci de votre aide

  2. #2
    Membre éprouvé Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Points : 1 118
    Points
    1 118
    Par défaut
    Ben c'est assez simple pourant, ton bloc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
         84 # HOST et SERVICE
         85 if (!defined ($host_name) || !defined ($service_name)){
         86         print "Ok: $host_name // $service_name";
         87         exit(0);}
    dit en gros :

    "si $host_name n'est PAS défini, ou alors si $service_name n'est PAS défini, alors je les affiche tous les 2".

    Si ta condition est vraie, alors au moins une des 2 variables est indéfinie, donc il t'affiche un warning pour te le signaler

    EDIT: si tu veux éviter l'erreur, il faut que tu affectes une valeur à chacune des 2 variables:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
         # HOST et SERVICE
         if (!defined ($host_name) || !defined ($service_name)){
                 $host_name = "undef", if (!defined($host_name);
                 $service_name = "undef", if (!defined($service_name));
                 print "Ok: $host_name // $service_name";
                 exit(0);
        }

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 38
    Points
    38
    Par défaut
    Note, however, that perl optimizes your
    program and the operation displayed in the warning may not necessarily
    appear literally in your program. For example, "that $foo" is
    usually optimized into "that " . $foo, and the warning will refer to
    the concatenation (.) operator, even though there is no . in your
    program.
    Il l'explique là. Donc rien à voir avec un problème de concaténation mais apparement une de tes variables va pas. Après je suis pas sûr de comprendre ta ligne 85. !defined equivaut à undefined? Si oui, ton programme voudrait dire, Si $toto pas défini alors écrit "Ok: $toto".

    Si c'est pas ça, bah je suis trop débutant pour t'aider.

    edit: ah bah en plus je suis trop lent.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 163
    Points : 90
    Points
    90
    Par défaut
    Mon dieu comme je suis stupide, j'ai honte, loool.

    Merci en tout cas

    Bonne ap midi

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

Discussions similaires

  1. Problème de concatenation
    Par Evanz dans le forum VBA Access
    Réponses: 1
    Dernier message: 25/05/2007, 19h54
  2. [WORD] Problème pour concatener 2 fichiers .doc
    Par marco000 dans le forum VBA Word
    Réponses: 14
    Dernier message: 27/08/2006, 18h49
  3. Problème de concatenation...
    Par Colbix dans le forum MFC
    Réponses: 2
    Dernier message: 17/06/2006, 01h18
  4. problème avec concatenation
    Par siham_06 dans le forum Langage
    Réponses: 3
    Dernier message: 04/12/2005, 05h25
  5. [FLASH MX] Problème de concatenation
    Par warl dans le forum Flash
    Réponses: 2
    Dernier message: 03/03/2005, 13h56

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