J'ai fait des recherches en ligne et j'ai trouvé plusieurs modules/frameworks Perl intéressants, tels que HTML: Mason, HTML :: Embperl, ou le framework MVC Catalyst, etc. html, de même que le code PHP dans html. Cependant, mon projet Perl doit être téléchargé sur uni server où seuls des privilèges et des ressources limités sont fournis.façon la plus simple d'intégrer Perl en html
Par exemple, la version Apache & Perl version 1.3.3 5.8.0 (inférieur aux besoins de Catalyst)
Je l'ai utilisé un script pour vérifier tous les modules Perl installés, seuls les noms contiennent le mot "html" :
HTML::HeadParser 2.17
HTML::Entities 1.23
HTML::Filter 2.09
HTML::LinkExtor 1.31
HTML::Parser 3.26
HTML::PullParser 2.06
HTML::TokeParser 2.24
HTML::Tagset 3.03
HTML::Form 0.03
Je crains qu'aucun d'entre eux ne puisse me laisser intégrer Perl directement dans le HTML.
Je sais que je peux utiliser la déclaration d'impression simple, avec « heredoc » pour imprimer tout à la page html intérieur Perl/CGI, mais je pense que viole le paradigme de conception MVC et est moins souple et plus complexe à développer, principalement parce que maintenant la logique métier est foiré avec des balises html.
Ma solution actuelle consiste à utiliser jQuery pour déclencher les requêtes AJAX afin de charger du code HTML dans des balises spécifiques du côté client. Dans ce cas, Perl n'est utilisé que pour fournir un accès aux données côté serveur, manipuler les données associées et fournir des réponses au format JSON aux requêtes AJAX.
Je me demande s'il existe une meilleure façon de procéder? Je peux difficilement changer l'état du serveur et je ne pense pas que l'administrateur système serait aussi généreux pour installer d'autres modules Perl.
Mise à jour Infos:
La principale raison de l'intégration de Perl en html est que je suis très nouveau à la programmation CGI, et depuis que je suis plus familier avec PHP et jQuery, je voudrais savoir s'il est un bon moyen d'incorporer Perl directement dans html, donc je peux finir la partie client très rapidement et me concentrer sur le côté serveur.
Say, quelque chose comme ceci:
<div id='user_status'>Your last visit was :[% getLastVisitDateTime($userId)%]</div>
S'il vous plaît garder avec ma petite connaissance de Perl/CGI et un grand merci à l'aide à l'avance.
Mise à jour 2: suivi les instructions du site Web Template Toolkit, j'ai installé ce module sur mon MacBook Pro, mais malheureusement je ne peux pas l'installer sur le serveur uni en raison de l'autorisation raison:
Warning: You do not have permissions to install into
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
at /usr/lib/perl5/5.8.0/ExtUtils/Install.pm line 84.
mkdir /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-
multi/auto/Template: Permission denied at /usr/lib/perl5/
5.8.0/ExtUtils/Install.pm line 137
make: *** [pure_site_install] Error 255
Donc, malheureusement, je Je cherche maintenant d'autres manières ...
D'accord, il semble que HTML :: Mason ne peut pas être installé pour la même raison. J'ai donc peur de devoir trouver une solution .pm pour ne pas avoir à installer quoi que ce soit dans l'environnement perl du serveur uni ...
Si vous voulez installer le module Perl globalement, vous avez besoin des permissions root –