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

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

3 réponses
Avatar
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

3 réponses

Avatar
Julien PLEE
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
Avatar
Michel Rodriguez
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

Avatar
Julien PLEE
"Michel Rodriguez" wrote in message
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