Questo non è particolarmente efficiente. Sarebbe più
efficiente, dal punto di vista dello spazio, usare:
while (($chiave, $valore) = each %per_chiave) {
$per_valore{$valore} = $chiave;
}
Se il vostro hash avesse dei valori ripetuti, i metodi qui sopra troveranno
solo una delle chiavi associate. Questo potrebbe infastidirvi, o anche no.
Nel caso vi crei problemi, potete sempre invertire l'hash
in un hash di array:
while (($chiave, $valore) = each %per_chiave) {
push @{$lista_di_chiavi_per_valore{$valore}}, $chiave;
}
Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan
Torkington. Tutti i diritti riservati.
Questa documentazione è libera; puoi ridistribuirla e/o
modificarla secondo gli stessi termini applicati al Perl.
Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di
codice in questo file sono rilasciati al pubblico dominio. Potete, e
siete incoraggiati a farlo, utilizzare il presente codice o qualunque
forma derivata da esso nei vostri programmi per divertimento o per profitto.
Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese
ma non è obbligatorio.
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per
porre quesiti di tipo tecnico, per rimanere aggiornato su meeting,
incontri, manifestazioni e novità su Perl.it. Iscriviti!