|
|
|
|
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 ?
Salut,
#!/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écutionlami20j@debian:~/trash$ perl ccm.pl aaa 1 $var3 n'est pas défini $var3 n'est pas défini-- lami20j |