[Perl] Générer des pages html via template...

Générer des pages html via template... [Perl] - Perl - Programmation

Marsh Posté le 13-01-2004 à 16:49:59    

Bonjour à tous,
 
Je suis pluôt débutant en Perl (j'ai seulement fait des scripts pour la gestion d'usager LDAP).
 
Cependant, comme je suis le seul qui connaisse un peu Perl en plus de LDAP, on me demande de faire une couche supplémentaire qui va être utilisé avant le module mod_auth_ldap de Apache afin de pouvoir permettre au usager de changer leur mot de passe si celui ci est expiré.
 
Comme je devrai afficher la même page avec seulement quelque différences près, j'aimerais connaître le meilleur moyen pour y arriver.
 
Pour l'instant j'ai trouvé quelques scripts qui remplace automatiquement des mots clés dans un template html.  Cependant avant d'utilisé un de ces scripts, j'aimerais être sûr que j'utilise la bonne solution ou la solution la plus standard...
 
Merci !

Reply

Marsh Posté le 13-01-2004 à 16:49:59   

Reply

Marsh Posté le 13-01-2004 à 17:38:41    

Reply

Marsh Posté le 13-01-2004 à 18:05:47    

Merci!
 
Edit :
 
Je commence a regarder le site, cependant cela n'est pas un peu gros pour seulement 5-6 pages ?
 


Message édité par belzme le 13-01-2004 à 18:08:18
Reply

Marsh Posté le 13-01-2004 à 18:14:26    

y a egalement FastTemplate sur perl il me semble.

Reply

Marsh Posté le 13-01-2004 à 18:51:49    

disons que c'est al solution la plus standard comme tu la cherchais, mais effectivement c'est un peu extreme pour seulement 5 pages
 
ya pleins de module de templating html en perl (regarde sur search.cpan.org)
 
à la limite tu peux meme le faire à la main avec des regexps!
 
genre dans la page html tu ecrit %%total_facture%%, puis apres tu fais simplement

Code :
  1. my $total_facture = 200;
  2. $html =~ s/%%total_facture%%/$total_facture/g;


ou bien

Code :
  1. $html =~ s/%%total_facture%%/calcul_facture()/ge;
  2. sub calcul_facture {
  3. ...
  4. return $facture;
  5. }


 
ou meme un systeme plus souple:

Code :
  1. my %template = (
  2.   total_facture => 200,
  3.   garantie => 2,
  4. );
  5. ...
  6. $template{date} = localtime();
  7. ...
  8. remplace(\$html, \%template);
  9. sub remplace {
  10.   my $html_ref = shift;
  11.   my $template_ref = shift;
  12.   my $template_regexp = join('|', keys %$template_ref);
  13.   $$html_ref =~ s/%%($template_regexp)%%/$template_ref->{$1}/g;
  14. }


Message édité par pospos le 13-01-2004 à 18:52:42
Reply

Marsh Posté le 13-01-2004 à 19:39:21    

Ok merci bcp, le vais regarder FastTemplate, mais sinon je m'orientais un peu vers la solution que tu me propose, donc je suis content de voir que j'étais sur la bonne voie et tes exemples vont m'aider énormément ! Merci !!!!

Reply

Sujets relatifs:

Leave a Replay

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