Supponendo che ho un hash come questo:Come scoprire se un hash Perl è multidimensionale?
$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'
}
}
Come potrei scoprire, il più semplice possibile, che hashes
contiene altre 3 hash, mentre keys
contiene coppie 3 chiave/valore?
ref
restituirà HASH
per entrambi e non sono sicuro se sia possibile scoprire la profondità di questi hash.
Grazie :)
Sì, è possibile, ma mi chiedo perché vorresti saperlo. Questo può aiutare nel decidere una linea d'azione adatta. per esempio. Vuoi restituire la catena più profonda o la profondità di tutti i rami diversi? – Zaid
Possibile duplicato: [Attraversando un hash multidimensionale in Perl] (http://stackoverflow.com/questions/160175/traversing-a-multi-dimensional-hash-in-perl) – Zaid
Avrei bisogno di sapere questo così Posso invocare azioni diverse a seconda che si ottengano 3 hash o 3 coppie chiave/valore. Quindi, non ho necessariamente bisogno di conoscere la profondità esatta, se posso distinguere tra questi 2 in qualche altro modo. Vedo il tuo link ad altre domande ora, ma speravo che ciò potesse essere fatto senza ricorrere alla ricomposizione :) – sentinel