Копирование значений из одного хэша в другой в perl

У меня есть два хэша, один большой и один маленький. Все ключи меньшего хэша отображаются в большем хэше, но значения отличаются. Я хочу скопировать значения из большего хэша в меньший хэш.

Например:

# 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');

Очевидным ответом было бы зациклить ключи малого хэша и скопировать значения, подобные этому

foreach $key (keys %small_hash) { $small_hash{$key} = $big_hash{$key}; }

Есть ли более короткий способ сделать это?

13
задан Ron 18 December 2013 в 09:05
поделиться