accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Hash utilisant une constante ... Résolu

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.lang.perl ] 

Retour : Accueil du site fr comp lang perl   charte stats de ce groupe


  Sujet:   Hash utilisant une constante ... Résolu  
 De: luc.martineau....@gmail.com (Luc)
 Groupes: fr.comp.lang.perl
 Organisation: http://groups.google.com
 Date: 20. Mar 2008, 21:15:09
Bonjour,

J'ai eu un problème avec les hash que j'ai résolu en cherchant sur
google.

Je viens ici afin que l'on m'explique ce qui se passe.


J'ai un module qui valide les paramètres reçus (CGI)

         use constant PRM_UN   => "po";

         my $params = $cgi->Vars;

         if( $params->{ PRM_UN } eq $params->{ "po" } ) {
            print "aucun problème";
         } else {
            print "Surprenant!!";
         }

Ça affichait (ça l'affiche encore d'ailleurs...) "Surprenant!!"

Cependant


         if( $params->{ PRM_UN . "" } eq $params->{ "po" } ) {
            print "aucun problème";
         } else {
            print "Surprenant!!";
         }

affiche "aucun problème"

Où est le problème!!

Pourtant, dans le script j'ai une dizaine de paramètres définis avec
use constant
et il y en a seulement un qui me cause des ennuis. La constante se
nomme POOL_PRM_POSITION
et sa valeur est "po".

J'ai un foreach dans lequel j'ai des "if" et "elsif" pour chacun de
mes paramètres.

J'ai vérifié le contenu du hash avec Data::Dumper, tout est beau.
Est-ce que la valeur "po" est particulière pour perl ???
Est-ce que le nom POOL_PRM_POSITION est utilisé par perl ???
Est-ce le fait que j'utilise une référence ???
Est-ce les extra-terrestres vont débarquer chez moi ???


Dois-je ajouter systématiquement <. ""> à la clef lorsque celle-ci est
une constante ?
Ou peut-être
my $var = PRM_UN;
$param->{ $var };

Merci d'éclairer ma lanterne

Luc

P.S.

J'ai trouvé cette solution à cet endroit :
http://mailman.anu.edu.au/pipermail/perl.sig/2005-June/000009.html


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)
Usenet Gratuit