The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!perl

use strict;
use warnings;
use Test::More tests => 4;

use lib './t';
do 'testlib.pm';

use Data::ModeMerge;

my $h1 = { 'a'=> 1,  'c'=> 2,  'd'=> 3,  'k'=> 4,  'n'=> 5, 'n2'=> 5,  's'=> 6};
my $h2 = {'+a'=>10, '.c'=>20, '!d'=>30, '^k'=>40, '*n'=>50, 'n2'=>50, '-s'=>60};

mmerge_fail($h1, $h2, {set_prefix=>1 },  "invalid set_prefix 1");
mmerge_fail($h1, $h2, {set_prefix=>[]},  "invalid set_prefix 2");

mmerge_is  ($h1, $h2, {set_prefix=>{}}                     , {a=>11 , c=>220, "^k"=>40, n=>50, n2=>50, s=>-54}, "empty set_prefix");
mmerge_is  ($h1, $h2, {set_prefix=>{ADD=>'.', CONCAT=>'+'}}, {a=>110, c=>22 , "^k"=>40, n=>50, n2=>50, s=>-54}, "set_prefix 1");