Reconnaitre si une référence de tableau est un Array ou un Hash

Le
Julien PLEE
Bonjour,

Pour des raison d'enregistrement de paramètres dans un fichier de type ini,
j'ai besoin de reconnaître les tableaux Hash des tableaux Array pour les
circonstances suivantes :

Dans un fichier INI, j'enregistre les paramètres comme suit :

<-- debut fichier -->
[SECTION1]
#Hash
VAR1=VAL
VAR2=VAL

[SECTON2]
# Array
0=VAL
1=VAL
2=VAL
<-- fin fichier -->

La lecture de ce fichier me renvoie un objet Hash avec la structure suivante
:

$params = { section1 => {var1 => val,
var2 => val},
section2 => [val, val, val]
}

Pour la sauvegarde des paramètres, j'ai besoin de savoir si le tableau
associé à la section est un Hash ou un Array pour pouvoir écrire les
variables du Array précédé de "$index=".

Merci pour vos lumières.


Julien
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Julien PLEE
Le #431566
Olala, faut peut-être que je me mette au vert ^^

Pour ceux que la question intéresse (enfin surtout la réponse), la fonction
ref fait l'affaire...

if (ref $objet eq "HASH") {
# on a un Hash
} elsif (ref $objet eq "ARRAY") {
# on a un Array
};

Bon, je vais essayer aussi sans référence (tableau anonyme @ ou %) et je
reviendrai pour annoncer si ca marche (ou peut-être qu'on me dira comment
faire de suite si ca ne marche pas ;) )


Julien
Michel Rodriguez
Le #434622
Julien PLEE wrote:

Pour des raison d'enregistrement de paramètres dans un fichier de type ini,
j'ai besoin de reconnaître les tableaux Hash des tableaux Array pour les
circonstances suivantes :


Salut,

Est-ce que tu a regarde du cote de CPAN: Config::IniFiles a l'air d'etre
pas mal: http://search.cpan.org/dist/Config-IniFiles/


--
Michel Rodriguez
Perl &amp; XML
http://www.xmltwig.com

Julien PLEE
Le #434621
"Michel Rodriguez" news:c5lmli$riu$
Julien PLEE wrote:

Pour des raison d'enregistrement de paramètres dans un fichier de type
ini,


j'ai besoin de reconnaître les tableaux Hash des tableaux Array pour les
circonstances suivantes :


Salut,

Est-ce que tu a regarde du cote de CPAN: Config::IniFiles a l'air d'etre
pas mal: http://search.cpan.org/dist/Config-IniFiles/


Bonjour,

Oui, j'ai déjà regardé ce module, et effectivement, il est bien, mais en
fait, j'avais envie de faire un module plus puissant permettant
d'enregistrer des Array, ce qui semble ne pas être le cas avec les modules
que j'ai pu rencontrer... En fait, il ne convient pas à mes attentes :-)
Par ailleurs, je souhaiterai ne pas avoir à passer par des fonctions pour
récupérer ou enregistrer mes valeurs, ce qui n'est pas prévu avec le module
Config::IniFiles.


Julien


Publicité
Poster une réponse
Anonyme