#!/usr/bin/perl use warnings; use strict; use Data::Dumper; my $default = { one => 1, two => 2, three => 3, }; my $config = { one => 100, two => 200, }; @$default{ keys %$config } = values %$config; print Dumper $default; __DATA__ output: $VAR1 = { 'three' => 3, 'one' => 100, 'two' => 200 };