[Toulouse-pm] 2 Petites questions Perl

Philippe 'BooK' Bruhat Philippe.Bruhat at free.fr
Tue Apr 6 07:21:58 CDT 2004


Le mardi 06 avril 2004 à 13:14, seb (ll) écrivait:
> 
> 1-Tout d'abord, est-il possible d'écrire ça plus proprement :
> 
> #$lmessage->{'departement'} contient par exemple: "[RP 75] blablabla"
> #et je veux recuperer le 75. Ce que j'ai ecrit fonctionne, mais
> #ca me gene un peu, j'ai l'impression que c'est pas tres propre.
> 
> ($lmessage->{'departement'}) = $lmessage->{'departement'} =~
> /\[.*(\d\d).*\]/ ;

Si ça marche, je ne vois pas le problème. C'est une manière assez
classique de faire. Je me demande juste s'il ne manque pas un /g
à la fin de ta regexp.

> 2-Un probleme de date, mais moins important.
> 
> Alors j'ai des dates sous cette forme : "02 Mar 2004" ou "2 Mar 2004"
> et j'aimerai la transcrire sour la forme : "02/03/2004" par exemple.
> 
> Vaut-il mieux que je fasse un tableau du genre :
> @tab = ( 'Jan' => 1, 'Fev' => 2 .... et que je m'en débrouille ou bien
> vaut il mieux que j'utilise un module date.

Les modules style DateTime savent en faire beaucoup beaucoup plus.
Si vraiment tu n'as que ce cas là à gérer, tu peux peut-être t'épargner 
une dépendance avec un hash des dates :

    @month{qw/ Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec /}
      = ( 1 .. 12 );

et faire la conversion dans un s///.

-- 
 Philippe "BooK" Bruhat

 No one profits at the death of another (except for the mortician).
                                     (Moral from Groo The Wanderer #7 (Epic))



More information about the Toulouse-pm mailing list