Perlでハッシュの上書き

追記

これで良かった

use strict;
use warnings;
use Data::Dumper;

my %hash1 = (a=>1,b=>2,c=>3);
print Dumper \%hash1;
#$VAR1 = {
#          'c' => 3,
#          'a' => 1,
#          'b' => 2
#        };
my %hash2 = (b=>5,d=>6);
print Dumper \%hash2;
#$VAR1 = {
#          'b' => 5,
#          'd' => 6
#        };
%hash1 = (%hash1,%hash2);
print Dumper \%hash1;
#$VAR1 = {
#          'c' => 3,
#          'a' => 1,
#          'b' => 5,
#          'd' => 6
#        };


こんなんでよいだろうか?

use strict;
use warnings;
use Data::Dumper;

my %hash1 = (a=>1,b=>2,c=>3);
print Dumper \%hash1;
#$VAR1 = {
#          'c' => 3,
#          'a' => 1,
#          'b' => 2
#        };
my %hash2 = (b=>5,d=>6);
print Dumper \%hash2;
#$VAR1 = {
#          'b' => 5,
#          'd' => 6
#        };
my @keys = keys %hash2;
@hash1{@keys} = @hash2{@keys};
print Dumper \%hash1;
#$VAR1 = {
#          'c' => 3,
#          'a' => 1,
#          'b' => 5,
#          'd' => 6
#        };