Bonjour,
J'ai un fichier texte (un export sql) dans lequel, par défaut, les champs "null" sont une chaîne de caractères : \N (oui, c'est une chaîne de caractères, pas un caractère de contrôle...).
Dans un script Perl, je souhaite faire une recherche sur cette chaîne de caractères.
Je voudrais, en plus, mettre ce champ dans une variable ($null_export) puisque je le recherche dans plusieurs boucles.
Je n'arrive pas à mettre \N dans cette variable, alors que ça marche nickel si je met une chaîne de caractères quelconque tel que par exemple "toto" (j'ai mis NULL AS 'toto' dans la commande sql).
Mon code est sans doute pourri mais voici ce que j'ai actuellement :
Code :
- @champ = split (/:/, $_, -1);
- $null_export = "toto";
- if ($champ[1] =~ m/^$null_export$/) {
- print STDERR "Le champ est vide!\n";
- }
|
Qu'est-ce que je dois faire pour mettre \N?
Si je mets :
$null_export = "\\N";
ou
$null_export = "\\\N";
ou
$null_export = '\\N';
ou
$null_export = \N;
ça ne marche pas.
Même si je mets ces mêmes champs directement dans l'expression régulière (ex: if ($champ[1] =~ m/^"\\N"$/)), ça ne marche pas non plus.
Je suis à court d'idées et je n'arrive pas à trouver de réponse dans la doc (y'en a trop ).
Qu'est-ce que c'est qui coince dans ce cas?
Merci
a+
Message édité par Rocks le 02-06-2008 à 16:30:23
---------------
J'ai cherché à chercher mais je n'ai rien pu trouver et pourtant, j'avais trouvé.