foreach my $key (keys %hash1) { $hash1{$key} = [ defined $hash2{$key} ? ($hash1{$key}, $hash2{$key}) : $hash1{$key} ]; }