Subject: | Ability to use from different places with different behaviours |
There is such a problem
In one place we do specify_behavior({...}, 'Behaviour1')
in another place we do specify_behavior({...}, 'Behaviour2')
Later we call merge() many times from both places.
As could be seen, Behaviour1 would be ignored, and all merges would be
done using Behaviour2.
The fix could be done in at least 2 ways:
1. add OO interface, and keep merge matrix inside object
2. make $behaviors, $merge_behavior, $merge_matrix global, and store the
value of additionally specified behaviors into them (later we could use:
restore = get_behavior; set_behavior(own); merge; set_behavior(restore);
or { local $Hash::Merge::behavior = 'own'; merge() })
Will you accept from me a version 0.11 with fix of this issue?