GNT sans publicité, site mobile, fonctionnalitées exclusives...

[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
Lire les 15 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
espie
Le #21414481
In article 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




$ladate =~ m/^d{4}-d{2}-d{2}$/

par exemple.

(man perlretut)
Stephane CHAZELAS
Le #21415251
2010-03-21, 11:30(+00), Marc Espie:
[...]
a savoir que ce n'est pas du 4chiffres-2chiffres-2chiffre




[...]
$ladate =~ m/^d{4}-d{2}-d{2}$/


[...]

$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
espie
Le #21415311
In article Stephane CHAZELAS
2010-03-21, 11:30(+00), Marc Espie:
[...]
a savoir que ce n'est pas du 4chiffres-2chiffres-2chiffre




[...]
$ladate =~ m/^d{4}-d{2}-d{2}$/


[...]

$ladate =~ m/^d{4}-d{2}-d{2}$/

devrait suffire. Attention toutefois que ca valide
"2009-01-01n". On preferera peut-etre:



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...
Paul Gaborit
Le #21416121
À (at) Sun, 21 Mar 2010 14:43:55 +0000 (UTC),
(Marc Espie) écrivait (wrote):

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).



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 -
xavier
Le #21416111
Mag
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 ?



Je pense que le module Date::Manip peut vous aider:

--
XAv
Disponible au 01/06/2010 - peut-être...peut-être pas...
Publicité
Suivre les réponses
Poster une réponse
Anonyme