Recherche d'une fonction qui ajoute les slashs.

Recherche d'une fonction qui ajoute les slashs. - Perl - Programmation

Marsh Posté le 30-01-2006 à 11:01:43    

Bonjour,
j'aurais aimé savoir si il existait en Perl une fonction comme en PHP qui rajoute automatiquement des slashs pour protéger les données d'une variable. Par exemple si dans cette variable on a des caractères spéciaux, et que l'on souhaite les traiter comme une chaine normale.
Merci.

Reply

Marsh Posté le 30-01-2006 à 11:01:43   

Reply

Marsh Posté le 30-01-2006 à 17:46:15    

"\Q$var"
 
mais tu a de meilleures solutions, tout depend de ce que tu veux echapper
 
apr exemple si c'est pour faire une requete SQL alors il faut utiliser els placeholders dans DBI (ou sa fonction quote)
si c'est une URL t'as les fonction du module URI
si c'est du HTML tu as ce qu'il faut dans CGI.pm (et d'autres)
etc...

Reply

Marsh Posté le 31-01-2006 à 00:36:28    

$var =~ s/('|" )/\\$1/g;
dans le ('|" ), tu ajoutes tous les caractères que tu veux ajouter un backslash
 
mais la solution de pospos semble la meilleure

Reply

Marsh Posté le 31-01-2006 à 11:05:28    

Oui, c'était une URL, je vous remercie.

Reply

Marsh Posté le 31-01-2006 à 11:10:31    

ha si c'est pour une URL voila une petite fonction qui ira bien:

Code :
  1. sub escape {
  2. my $str = shift;
  3. $str =~ s/([^A-Za-z0-9\-_.!~*'()])/uc sprintf("%%%02x",ord($1))/eg;
  4. $str
  5. }

Reply

Sujets relatifs:

Leave a Replay

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