Je cherche bêtement à détecter dans mon script PERL quand ma requête SQL me renvoie un champ 'NULL' parmis les autres... Mais n'y arrive point.
Comment fait on ? J'ai testé
defined
et exists
mais ça n'a pas marché...Pour info, j' "use DBI();" sur une base MySQL V4.1 et je récupère mes enregistrements avec
fetchrow_array
.Please Help Me...
Merci d'avance.
# Juste une idée
Posté par dguihal . Évalué à 1.
[^] # Re: Juste une idée
Posté par Flavien . Évalué à 1.
Mais bon en principe NULL est plus un état qu' une valeur.
En tout cas ça marche pas. Merci quand même...
# beuh
Posté par gc (site web personnel) . Évalué à 2.
while (my @row = $sth->fetchrow_array) {
print "values: " . (join ' ', map { defined($_) ? $_ : 'NULL' } @row) . "\n";
}
imprime :
values: 705078 NULL 200 0 0
si la deuxième colonne contient une valeur NULL.
[^] # Re: beuh
Posté par Flavien . Évalué à 1.
c'est le deuxième colonne qui m'échape surtout.
En bref c'est defined() qui doit faire mon bohneur ?
[^] # Re: beuh
Posté par Yves Agostini (site web personnel) . Évalué à 2.
- defined($_) ? $_ : 'NULL'
SI $_ est défini, la valeur est $_ SINON c'est la chaîne NULL, ( je crois que c'est du C standard cette syntaxe )
- map { } @row
consulte chaque élément $_ du tableau @row
- join ' ', @tableau
concatène dans une chaîne chaque élément du tableau le séparateur est l'espace ' '
[^] # Re: beuh
Posté par Flavien . Évalué à 1.
J'avoue que c'était plus de la fénéantise de décortiquer le role de chaque fonction que de l'incompétence :-) J'ai attaqué le PERL il n'y pas si longtemps et mon style n'est pas encore très condensé.
Je vais donc retenter d'utiliser defined().
[^] # Re: beuh
Posté par gc (site web personnel) . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.