in reply to Mixing tie %hash and overload results in strange behavior

These work: $hash{'test'} = $hash{'test'} + 3;

Yeah, because you overload "+" but not "+=". You need to overload "+=" too.

Update: While the above it true, there is a bug cause the overload handler for '+=' not to get called. Filed a ticket: RT#84786