> - foreach my $opt (keys %$param) { # add/change > + my $conf_param = { %$param, map {$_ => undef} @delete }; I guess you need to process @delete parameters first? Or maybe we should check that we do net set both (param value and delete)?