perl et special char

Répondre
plc2k
le 27/10/2004 à 22:31
plc2k
bonjour,
j'ai un petit soucis, je pars d'un fichier perl qui va générer à l'aide de template une page html.
le probleme viens du fait qu'au depart j'ai des url du style : http://www.toto.com?nom=bill&boule

et donc dans la page final, si je click sur le lien, je recupére la variable nom = bill .. le boule n'est pas pris encompte puisqu'il est derriere un & ..

avec php , on fait un petit coup de htmlspecialchars et le tour est joué, mais à partir de d'un fichier perl, comment faire ? j'ai remplacé le & par &
Le probleme c'est que lorsqu'on affiche la page final, bah le & affiche un beau & ... et donc ça ne resoud rien ..

quelqu'un a une idée ? de comment remplacer ce & dans la page final par qqchose qui me permetra de récuperer ma variable nom = bill&boule lorsque j'aurai cliké sur le lien ..

Merci d'avance
zebden
le 27/10/2004 à 23:05
zebden
Je m'y connais pas vraiment en perl
et si tu remplace & par 'et' (simplement) et qu'ensuite tu rechange le et en & ?
zebdinou pour les intimes / Blog : http://www.zebden.fr
plc2k
le 27/10/2004 à 23:56
plc2k
oui c'est ce que j'ai fait & -> ;et;
mais bon, jme demandais si il ny avait rien de + propre (comme pour le php...)
mojorisin
le 28/10/2004 à 03:28
mojorisin
Ben en fait il faut que les caractère spéciaux soit encodé dans une url. Le esperluette(&) est le %26.

Sinon regarde dans le module URI :

#!/usr/bin/perl

use strict;
use URI::Escape;

my $string = "boule&bill + Telma & Louise";

print uri_escape($string);
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
plc2k
le 28/10/2004 à 20:41
plc2k
jai aps accés a ca : usr/bin/perl
j'ai juste un acces ftp, et je pens pas que je puisse voir ca.

je vais essayer avec lexemple que tu me donne pour voir ce que cela donne.
mojorisin
le 28/10/2004 à 20:44
mojorisin
Tu n'as pas a y avoir acces smiley
C'est juste la ligne shebang des scripts executable sous unix. Elle peut varié en fonction du système.

#!/usr/bin/perl dit juste au systeme où trouvé perl.

Normalement ton hébergeur doit te dire ou se trouve l'executable perl sur son serveur si il t'autorise les scripts cgi.
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
plc2k
le 28/10/2004 à 23:51
plc2k
ah oki !
ehehe
excuse je n'y connais rien en perl, la je suis juste obligé de m'adapter a un script existant pour y mettre le mien par dessus.
merci
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours