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 :

Savoir quand une variable ou un tableau est vide


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 74
    Par défaut Savoir quand une variable ou un tableau est vide
    J'ai un problème avec un scalaire $i je voudrais savoir quand il ne contient pas de données je connais !$i mais sa ne marche pas si par exmple ou voici un petit code plus claire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $i = "    ";
     
    if (!$i) {
     print "1\n";
    }
     else
    {
      print "2\n";
    }
    renvoie 2 pourtant $i ne contient rien d'autre que des espaces comment faire pour savoir si $i contient des lettres bref de l'info pertinante ?

  2. #2
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Du blanc est une information, ce n'est pas une absence d'information. C'est pour cela que c'est "vrai" dans les tests (if), contrairement à "" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $v="  "; print "Vrai\n" if ($v);
    $v=""; print "Vrai\n" if ($v);
    $v="a"; print "Vrai\n" if ($v);
    Maintenant, c'est une information qui peut être "séparée" du reste, par exemple au moyen d'une expression rationnelle ... notamment grace à la classe de caractères \S (non-whitespace character) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $v="  "; print "Vrai\n" if ($v =~ /\S/);
    $v=""; print "Vrai\n" if ($v =~ /\S/);
    $v="a"; print "Vrai\n" if ($v =~ /\S/);
    Il existe encore d'autres solutions

Discussions similaires

  1. comment tester si une case d'un tableau est vide
    Par khadi8 dans le forum Débuter
    Réponses: 7
    Dernier message: 01/05/2013, 09h13
  2. vérifier si une case d'un tableau est vide
    Par chercheur111 dans le forum Débuter
    Réponses: 7
    Dernier message: 20/07/2012, 18h24
  3. Vérifier si une variable de session existe && est vide ?
    Par c-bolo dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 27/12/2009, 22h06
  4. Réponses: 12
    Dernier message: 20/10/2009, 16h09
  5. [Tableaux] Savoir si une variable est un tableau
    Par sourivore dans le forum Langage
    Réponses: 3
    Dernier message: 20/10/2006, 14h42

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