KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Mardi 13 mai 2008 - 15:49:15

[PERL]Comparaison: Valeur nulle et zéro

Rechercher : dans
[PERL]Comparaison: Valeur nulle et zéro
par khaz
 Fil de Discussions
Statut :
vendredi 7 décembre 2007 à 15:07:16
Bonjour,

mon problème porte sur une comparaison.
En effet,faire une boucle if avec comme condition qu'une valeur soit définie ou non.

voici un petit extrait de mon code :

if (! $Fic1{$cli})
{
print Sortie "$cli n'existe pas\n";
$cpt ++;
}

Après lecture de Fic1, j'ai une valeur $Fic1{$cli} = 0
pourtant, mon script va entrer dans mon if.
Je voudrais qu'il ne rentre dans mon if QUE si la valeur $Fic1{$cli} est indéfinie.

Je vous met l'extrait de mon debug :

Watchpoint 0: $cli changed:
old value: '00029310'
new value: '29310'
Watchpoint 1: $Fic1{$cli} changed:
old value: undef
new value: '0'
main::(confront_date.pl:65): if (! $Fic1{$cli})
main::(confront_date.pl:66): {
DB<8>
main::(confront_date.pl:67): print Sortie "$cli n'existe pas\n";


Quelle comparaison effectuer pour ne rentrer dans le if que il $Fic1{$cli} n'est pas définie ?
Répondre à khaz  Signaler ce message aux modérateurs Aller au dernier message


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par lami20j, le vendredi 7 décembre 2007 à 19:44:54 Fil de Discussions 
Salut,

condition qu'une valeur soit définie ou non.

Il faut comprendre la différence entre une variable définie ou pas et un teste de verité (boolean) ou context boolean si tu veux.

Pour tester si une variable est définie tu as la fonction defined.

Voici un exemple qui pourra t'eclairer
#!/usr/bin/perl
use strict;use warnings;
my $var;
my $var2;
my $var3;

# contexte chaîne de caractère
$var .= "aaa";
print "$var\n";

# contexte numérique
++$var2;
print "$var2\n";

# avec négation de defined
# si n'est pas défini
if(! defined($var3)){
        print "\$var3 n'est pas défini\n";
}

# avec defined + unless
unless( defined($var3)){
        print "\$var3 n'est pas défini\n";
}
__END__
Exécution
lami20j@debian:~/trash$ perl ccm.pl
aaa
1
$var3 n'est pas défini
$var3 n'est pas défini
--

lami20j
Répondre à lami20j
Discussions pertinentes trouvées dans le forum
27/01 13h56Effacer les valeurs nullesBureautique28/01 18h112
19/11 13h47[Perl] Comparaison de caractèresProgrammation19/11 15h125
27/08 16h50SUM SQL renvoi de valeurs nullesProgrammation28/08 09h512
15/06 15h36[PERL] comparaison de chainesProgrammation20/06 10h257
Plus de discussions sur « [PERL]Comparaison: Valeur nulle et zéro » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide