En supposant que j'ai un hachage comme ceci:Comment savoir si un hachage Perl est multidimensionnel?
$hash_ref = {
'hashes' => {
'h1' => { 'klf' => '1', 'moomooland' => '1' },
'h2' => { 'klf' => '2', 'moomooland' => '2' },
'h3' => { 'klf' => '3', 'moomooland' => '3' }
},
'keys' => {
'k1' => 'key1',
'k2' => 'key2',
'k3' => 'key3'
}
}
Comment pourrais-je savoir, aussi facile que possible, que hashes
contient 3 plus hash, tandis que keys
contient 3 paires clé/valeur?
ref
retournera HASH
pour les deux, et je ne suis pas sûr s'il est possible de trouver peut-être la profondeur de ces hachages.
Merci :)
Oui, c'est possible, mais je me demande pourquoi vous voudriez le savoir. Cela peut aider à décider d'un plan d'action approprié. par exemple. Voulez-vous retourner la chaîne la plus profonde, ou la profondeur de toutes les différentes branches? – Zaid
Copie possible: [Traverser un hachage multidimensionnel en Perl] (http://stackoverflow.com/questions/160175/traversing-a-multi-dimensional-hash-in-perl) – Zaid
Je devrais le savoir Je peux invoquer une action différente selon que j'obtiens 3 hachages ou 3 paires clé/valeur. Donc, je n'ai pas nécessairement besoin de connaître la profondeur exacte, si je peux différencier ces 2 d'une autre manière. Je vois votre lien vers une autre question maintenant, mais j'espérais que cela pourrait être fait sans utiliser la récursivité :) – sentinel