Dựa trên sự hiểu biết hiện tại của tôi về băm trong Perl, tôi hy vọng mã này sẽ in "hello world". Thay vào đó nó không in được gì cả.Làm cách nào để tạo băm băm trong Perl?
%a=();
%b=();
$b{str} = "hello";
$a{1}=%b;
$b=();
$b{str} = "world";
$a{2}=%b;
print "$a{1}{str} $a{2}{str}";
Tôi giả định rằng một băm giống như một mảng, vậy tại sao tôi không thể tạo một băm khác?
Ngắn và ngọt về lý do tại sao điều này không hiệu quả là vì, về cơ bản, một băm hoặc một mảng chỉ có thể chứa các giá trị vô hướng và băm không phải là vô hướng. Tuy nhiên, tài liệu tham khảo băm là. :) Các câu trả lời dưới đây có một số liên kết tốt về lý do tại sao điều này. –