#in class A sub do_stuff{ my $self = shift; #1 Class::B->do_things(sub{ my $self = @_; #2 my $blah = Class::C->blah({ arg1=>$self->{blah}, #3 arg2=>self->{wibble} }) }) }