Additionner des champs numériques ? --> retourne une concatenation :/

Additionner des champs numériques ? --> retourne une concatenation :/ - Perl - Programmation

Marsh Posté le 03-05-2004 à 00:47:01    

Bonsoir  :hello:  
 
(ouééé le forum remarche [:zytrayaisse])
 
 
je cherche à passer en perl de ceci :  
 

Code :
  1. "2004 04 06  15h45",2004 04 06  ,02h00,


 
à ceci :
 

Code :
  1. "2004 04 06  15h45",2004 04 06  17h45,


 
alors dans une boucle, j'ai testé ceci (attention les yeux :/)  
 

Code :
  1. $l =~ s#(\d{2})h(\d{2})",(\d{4}\s\d{2}\s\d{2}\s\s),(\d{2})h(\d{2}),#$1h$2,$3($1+$4)h($2+$5),#g;


 
mais ca me retourne une concaténation là ou je voudrais une réelle addition :

Code :
  1. ,"2004 04 06  15h45,2004 04 06  (15+02)h(45+00),


 
 
Quelqu'un pourrait me filer un tuyau ?
 
merci :jap:

Reply

Marsh Posté le 03-05-2004 à 00:47:01   

Reply

Marsh Posté le 03-05-2004 à 02:12:12    

selon moi ton truc c pas hyper fiable au départ, genre si t'a 21h00 et 7h00, bin faut calculer le changement de jour et ca tu semble pas en tenir compte, sinon laisse moi quelques minutes, jsuis en train de tester pour que ca marche simplement comme dans ton exemple


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 03-05-2004 à 02:32:07    

Code :
  1. $line =~ s#(\d{2})h(\d{2})",(\d{4}\s\d{2}\s\d{2}\s\s),(\d{2})h(\d{2}),#$1 . "h" . $2 . "," . $3 . ($1+$4) . "h" . ($2+$5) . ","#eg;


 
When the /e modifier ("e" is for expression evaluation) is used on an s/PATTERN/CODE/e expression, the replacement portion is interpreted as a Perl expression, not just as a double-quoted string. It's like an embedded do { CODE }.
 
voila
 
mais comme j'ai dit, ya du boulot à faire pour que ca fonctionne dans tout les cas


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 03-05-2004 à 07:08:52    

merci bcp je regarde ca ce soir :jap: :hello:
 
 
et pour le changement de jour que je ne gère pas, ca n'est pas grave : je parse une page web me donnant mon emploi du temps de mon école d'ingé, dans laquelle je n'ai pas de cours a cheval sur deux jours :)
 

Reply

Marsh Posté le 03-05-2004 à 10:29:56    

Sinon regarde les modules de manipulation de dates sur cpan

Reply

Marsh Posté le 03-05-2004 à 11:35:33    

pospos a écrit :

Sinon regarde les modules de manipulation de dates sur cpan


 
 :jap:  
 
Date::Manip


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 03-05-2004 à 15:06:24    

quelqu'un saurait me dire pourquoi j'avais un drapeau bleu dans ce topic ?


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 03-05-2004 à 19:46:34    

c'est une joce feature : le forum flag de lui meme les sujets interessants :o

Reply

Marsh Posté le 03-05-2004 à 19:54:52    

bon je suis un boulay, je me retrouve pas avec plus de 24 heures par jour, mais avec des 18h75 et des 8h0...
 
je regarde du coté de date manip

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed