in reply to Ouch! Each! Reentrant it is not

Thilosophy,
Every 4 months or so, I think of ideas about how to expand Tie::Hash::Sorted when I see questions asked about how to do things with hashes (usually getting around limitations). Unfortunately, these things don't really have to do with sorted hashes necessarily and I think about sub-classing and well - I never really do anything. One of the ideas that I had was allowing for localizing of the each iterator so that it could be restored when needed. This isn't something hard to do and if you would like to implement a tied hash that does this - let me know and I can give you a few pointers.

Cheers - L~R

Replies are listed 'Best First'.
Re^2: Ouch! Each! Reentrant it is not
by ysth (Canon) on Jul 17, 2005 at 09:46 UTC
    N.B. responsibility for the iterator on a tied hash is divided between the actual HV and the tied object; the HV keeps track of whether the next call should be to FIRSTKEY or NEXTKEY and the tied object keeps track of what to return for NEXTKEY.

    Given this, your idea sounds difficult but maybe not impossible.