Bonjour tout le monde,

Question basique que je n'arrive pas à résoudre.

J'ai un script perl qui fait des rapports (connexion mysql, ftp,...).

J'ai un seul problème avec un format de date.

Mon script reçoit deux dates en paramètres dans le format suivant:

15032006 --> je dois convertir en 060315

Pour ça, on m'a conseillé d'utiliser une expression régluière, ce que j'ai fait et c'est Ok:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
$datestart = '31122006'; # A remplacer par $_[0]
$datestart =~ s/(\d\d)(\d\d)\d\d(\d\d)/$3$2$1/;
print $datestart;
Dans ce cas là c'est tout bon, ma variable est égal à 060315.

Mon problème c'est que j'ai besoin de définir la deuième date en paramètre et la en utilisant la même expression régluière, ça me renvoit toujours la même valeur, peu importe ce que j'ai donné comme paramètre:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
$datestart = 15032006; # A remplacer par $_[0]
$datestart =~ s/(\d\d)(\d\d)\d\d(\d\d)/$3$2$1/; # --> OK renvoie 060315
$datestop = 25032006;
$datestop =~ s/(\d\d)(\d\d)\d\d(\d\d)/$3$2$1/; # --> FAUX !! me renvoie toujours 267270, peu importe la valeure donnée.
print $datestart;
print $datestop;
Est-ce-que quelqu'un peut m'aider ou éventuellement me donner une autre piste ?

Merci d'avance