#assume new method has been called sub foo # the public method { my $self = shift; &bar( "do something" ); } sub bar # the private method { $self{new} = $_[0]; }