On Tue, Feb 08, 2000 at 10:37:43AM -0500, Joshua Pritikin wrote:
> On Tue, Feb 08, 2000 at 04:21:01PM +0100, [EMAIL PROTECTED] wrote:
> > are there limitations in the type of variables or accesses var watchers
> > can check?
>
> In a word, yes.
>
> > I tried to watch the deletion of a hash element. This did not work
> > regardless if I watched the complete hash or the element itself.
>
> I think it might work in the latest dev snapshot.
Really ?
> > If I watch a complete hash, element modifications are not recognized.
>
> Correct.
The is because you are modifying the SV held in that element. Perl does
not consider this a modification to the hash itself.
> > If I watch an array element, assignments are recognized, but if I assign
> > via push(), this is ignored.
>
> Hm.
Likewise you are watching the SV which is at the point at that given time.
push modifies the array, not the element. Likewise I would expect
emptiny the array then modifyint the element in the array will not
be noticed either.
> > If I watch an array completely, Event reports an exception if I access
> > the array by push(). This case is activated in the attached hack.
>
> It sounds like I need to add a filter to restrict var watchers to plain
> vanilla scalars. Do you need more flexibility than that?
The original watcher code that I had was only designed with scalars in
mind.
Graham.