in reply to How can I find the calling object?

This won't work as you're asking perl to remember the object that called a given method from another method. The only real solution to this is to pass it as argument to the given sub
sub Foo::new { bless {bar => pop}, shift } sub Foo::call_bar { $_[0]->{bar}->some_method($_[0]); } sub Bar::new { bless [@_], shift } sub Bar::some_method { print "the object whose method called this method: $_[-1]\n"; } my $o = Foo->new( Bar->new(qw(a list of args)) ); $o->call_bar(); __output__ the object whose method called this method: Foo=HASH(0x8108174)
I think this is about the simplest method for getting get the *same* object as that which the calling method was called with.
HTH

_________
broquaint

update: I sit corrected :)