Tôi có hai băm, một lớn và một nhỏ. Tất cả các khóa băm nhỏ hơn hiển thị trong băm lớn hơn, nhưng các giá trị khác nhau. Tôi muốn sao chép các giá trị từ băm lớn hơn đến băm nhỏ hơn.Sao chép các giá trị từ một giá trị băm này sang một số khác trong perl
EG:
# I have two hashes like so
%big_hash = (A => '1', B => '2', C => '3', D => '4', E => '5');
%small_hash = (A => '0', B => '0', C => '0');
# I want small_hash to get the values of big_hash like this
%small_hash = (A => '1', B => '2', C => '3');
Một câu trả lời rõ ràng sẽ được lặp qua các phím của băm nhỏ, và sao chép trên các giá trị như thế này
foreach $key (keys %small_hash) { $small_hash{$key} = $big_hash{$key}; }
Có cách nào ngắn hơn để làm điều này ?
Fix mã của bạn: bảng băm đi với '()', chỉ có tài liệu tham khảo bảng băm đi với '{}'. – Lumi
Rất tiếc, xin lỗi về điều đó. –