Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formulaires et accents

6 réponses
Avatar
Sebastien Castiel
J'ai enfin trouvé un hébergeur CGI gratuit (tripod.com), mais celui-ci
ne propose pas le module CGI.pm. Je n'en ai pas extrêmement besoin, mais
cela m'oblige à créer une petite fonction pour récupérer les paramètres
dans l'URL. La voici :

sub get_params {
my (%params, @elts, $elt, $string);
($string) = @_;
@elts = split(/&/, $string);
foreach $elt (@elts) {
$params{(split(/=/, $elt))[0]} = (split(/=/, $elt))[1];
}
return %params;
}

Seulement, lorsque j'utilise des caractères accentués dans mon
formulaire, la fonction renvoie des chaines du genre "%E9" etc...
Existe-t-il une fonction simple (dans un module éventuellement) que je
pourrais récupérer pour re-transformer d'un coups tous ces codes "URL"
en leur caractère respectif ?
Le problème étant que je ne peux pas transférer CGI.pm vers le serveur
FTP car il nécessite d'autres modules, qui eux-mêmes en réclament
d'autres etc...

6 réponses

Avatar
François
Existe-t-il une fonction simple (dans un module éventuellement)

Voici
sub decode {
local ($str)=@_;
$str=~ tr/+/ /;
$str=~ s/%([0-9A-F][0-9A-F])/pack("C",oct("0x$1"))/ge;
$str;
}

François
Avatar
Sebastien Castiel
Existe-t-il une fonction simple (dans un module éventuellement)

Voici
sub decode {
local ($str)=@_;
$str=~ tr/+/ /;
$str=~ s/%([0-9A-F][0-9A-F])/pack("C",oct("0x$1"))/ge;
$str;
}

François


Ca alors je m'attendais pas à une fonction aussi simple !
En tout cas ça marche et c'est exactement ce que je cherchais. Merci.

Avatar
Paul GABORIT
À (at) Thu, 04 Mar 2004 16:26:17 +0100,
Sebastien Castiel écrivait (wrote):
Ca alors je m'attendais pas à une fonction aussi simple !


Elle n'est pas 'simple'... elle est courte ! Nuance ;-)

--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>

Avatar
Sebastien Castiel
À (at) Thu, 04 Mar 2004 16:26:17 +0100,
Sebastien Castiel écrivait (wrote):

Ca alors je m'attendais pas à une fonction aussi simple !



Elle n'est pas 'simple'... elle est courte ! Nuance ;-)

oui c'est vrai j'y comprends absolument rien :-)



Avatar
Jean-Michel Hiver
Sebastien Castiel wrote:
J'ai enfin trouvé un hébergeur CGI gratuit (tripod.com), mais celui-ci
ne propose pas le module CGI.pm.


CGI.pm fait partie de la distribution standard de Perl.

Ma question est donc: ??????????????????????????

Sinon, rien ne t'empeche de copier CGI.pm ou CGI/Simple.pm dans ton
repertoire cgi-bin.

Avatar
Sebastien Castiel
Sebastien Castiel wrote:

J'ai enfin trouvé un hébergeur CGI gratuit (tripod.com), mais celui-ci
ne propose pas le module CGI.pm.



CGI.pm fait partie de la distribution standard de Perl.

Ma question est donc: ??????????????????????????

Sinon, rien ne t'empeche de copier CGI.pm ou CGI/Simple.pm dans ton
repertoire cgi-bin.


En fait j'ai trouvé : tout est expliqué dans la FAQ de l'hebergeur. Il
propose un module CGI.pm qui evite toutes les dépendances du module
standard...