Tôi đang viết một kịch bản mà sẽ đọc qua các bản ghi ftpd của tôi và tạo ra một băm như sau:Perl: Truy cập một hashref được sắp xếp theo giá trị
$stats = \{
'user1' => {
'files' => 281,
'size' => '3724251021'
},
'user2' => {
'files' => 555,
'size' => '7385856997'
},
'user3' => {
'files' => 235,
'size' => '3716904486'
},
'user4' => {
'files' => 578,
'size' => '8536026929'
}
};
Làm thế nào để truy cập băm này với các phím được sắp xếp theo kích thước?
tôi đã cố gắng này, nhưng tôi nhận được một lỗi nói rằng không phải là một hashref
foreach my $user (sort { $$stats->{$a}->{size} cmp $$stats->{$b}->{size} } keys %$stats) {
blahblahblah...
}
Sau khi đọc câu hỏi của bạn, giải pháp mà bạn đã viết sẽ làm việc, nhưng bạn cần phải thay đổi "chìa khóa% $ stats "to" keys% $$ stats "trong foreach của bạn. Đây là lý do cho bạn "không phải là một lỗi hashref" b/c bạn đang cố gắng để điều trị một ref đến một hashref như hashref chính nó. –
Cảm ơn, tôi đã không nhận ra đó là một ref cho một hashref. Lỗi lầm ngớ ngẩn :) – somebody