After fixing several typos ( '[' instead of '{' in two places, 'sun FETCH' instead of 'sub FETCH', a missing single quote around OVERLOAD, and a \n in single quotes instead of doubles) it ran on a Solaris 5.7 box without crashing. It printed exactly what I would expect.
Speak
OverloadObj::Test=HASH(0x11c16c)
Why bother to include the code for OverloadObj.pm if you aren't going to exercise it at all? I can only suggest that you prepare your question better.
Update: By forcing a call to OverloadObj::constructor, I've also managed to segfaul on Solaris 5.7. By making constructor() return a reference, I seem to have eliminated the segfault. I have to leave for a meeting though, so I'm done playing with this for now.
-sauoq
"My two cents aren't worth a dime.";