I've been working on several tie()-able modules. Some I've released early versions of on CPAN already, others are not yet released. If you have any comments on any of them (listed below) please yell! already on CPAN: Tie::Hash::Rank - a hash which turns values into ranking positions Tie::Scalar::Decay - scalar variables whose values decay both are Rdp-p. I say that the interface is '-' because I'm not really sure whether n or r is suitable for a tie()-able module. I'm working on: Tie::Hash::Transactional - a hash with checkpoints and rollbacks Tie::Array::Transactional - an array with checkpoints and rollbacks to give a better explanation, here's part of the docs for T::H::T: " This module implements a hash with RDBMS-like transactions. You can checkpoint the hash (that is, you can save its current state), and you can rollback the hash (restore it to the previous saved state). You can checkpoint and rollback multiple times, as checkpointed states are saved on a stack. " both of these are bdpOp - the methods for checkpointing and rolling back are called in an OO-ish style. -- David Cantrell | [EMAIL PROTECTED] | http://www.cantrell.org.uk/david/ Good advice is always certain to be ignored, but that's no reason not to give it -- Agatha Christie