My first guess is that the first line works because of auto-vivification. In that line, you refer to $o{0} without trying to use the value as a hash reference itself. This triggers FETCH, but doesn't actually use the returned value anywhere. After this initial call to FETCH it appears to work (according to your testimony-- I don't have a MSWin32 box to try and reproduce this on).
In the second case, you are trying to directly utilize the value from $o{0} as a hash reference. I'm not sure what part of your FETCH routine is the source of the problem, but that would be the place to start looking.
--rjray
In reply to Re: TIEHASH hiccup?
by rjray
in thread TIEHASH hiccup?
by jhanna
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |