[Debutante] Variable confirme a une date ?
Le
Mag
Bonjour,
J'ai une variable de ce type:
$ladate = '2010-03-21'
je souhaite faire un if qui ce declenche si la synthaxe de la variable
n'est pas la bonne, mais je ne sais pas faire. Quelqu'un pourrait m'aider ?
En gros, de temps en temps la variable est vide, la pas de probleme
un simple if($ladate eq "") la declenche, mais quand il y a par exemple
$ladate = 'uneerreur'
a savoir que ce n'est pas du 4chiffres-2chiffres-2chiffre
merci d'avance
mag
J'ai une variable de ce type:
$ladate = '2010-03-21'
je souhaite faire un if qui ce declenche si la synthaxe de la variable
n'est pas la bonne, mais je ne sais pas faire. Quelqu'un pourrait m'aider ?
En gros, de temps en temps la variable est vide, la pas de probleme
un simple if($ladate eq "") la declenche, mais quand il y a par exemple
$ladate = 'uneerreur'
a savoir que ce n'est pas du 4chiffres-2chiffres-2chiffre
merci d'avance
mag

Poser une question


$ladate =~ m/^d{4}-d{2}-d{2}$/
par exemple.
(man perlretut)
[...]
[...]
[...]
$ladate =~ m/^d{4}-d{2}-d{2}$/
devrait suffire. Attention toutefois que ca valide
"2009-01-01n". On preferera peut-etre:
$ladate =~ /^d{4}-d{2}-d{2}z/
--
Stéphane
Pour une debutante, je prefere l'application des regles universelles.
Pas une lettre -> pour le sens normal.
D'ailleurs, ton truc marche aujourd'hui, mais sans garantie pour le futur.
Si un jour on decide que - a un sens particulier, ca cassera (d'accord, c'est
peu probable, mais perso, ca ne coute rien de ne pas prendre le risque, donc
je le fais).
Je ne vois pas trop l'interet de se poser la question du retour a la ligne
a la fin... perl fait a peu pres tout pour qu'on s'en foute, donc sauf mention
explicite de problemes lies a ca, je fais comme perl et j'ignore...
(Marc Espie) écrivait (wrote):
En fait c'est très probable puisque c'est déjà comme ça en Perl 6 : pour
qu'un symbole soit compris tel quel dans une expression régulière, il
*doit* être préfixé par un ''.
--
Paul Gaborit - Perl en français -
Je pense que le module Date::Manip peut vous aider:
--
XAv
Disponible au 01/06/2010 - peut-être...peut-être pas...