Sto scrivendo uno script che leggerò attraverso i miei ceppi ftpd e generare un hash come segue:Perl: Accedere a rifhash ordinati per valore
$stats = \{
'user1' => {
'files' => 281,
'size' => '3724251021'
},
'user2' => {
'files' => 555,
'size' => '7385856997'
},
'user3' => {
'files' => 235,
'size' => '3716904486'
},
'user4' => {
'files' => 578,
'size' => '8536026929'
}
};
Come posso accedere a questo hash con le chiavi ordinati per dimensione?
Ho provato questo, ma ottengo un errore non dire una rifhash
foreach my $user (sort { $$stats->{$a}->{size} cmp $$stats->{$b}->{size} } keys %$stats) {
blahblahblah...
}
dopo aver riletto la tua domanda, la soluzione postato funzionerà, ma è necessario cambiare "chiavi% $ stats "a" keys% $$ stats "nel tuo foreach. Questo è il motivo per il tuo "non un errore di hashref" b/c stai cercando di trattare un ref di un hashref come l'hashref stesso. –
Grazie, non avevo capito che era un riferimento a un hashref. Sciocco errore :) – somebody