sub X { my $self = shift @_; ... $self->_Private_X(); ... } #### sub X { my $self = shift @_; ... if ( $self->can('_Private_X') ) { $self->_Private_X(); } ... }