my( %one, %two ); Tie::Hash::Complementary->marry( \%one, \%two ); $one{foo} = 'bar'; # Also sets $two{bar}= 'foo' $two{baz} = 'bif'; # Also sets $one{bif}= 'baz' $two{bar} = 'oof'; # Does: $one{oof} = delete $one{foo} $one{oof} = 'baz'; # Dies; $two{baz} can't be both oof and bif