Como eu defino métodos privados ou internos no objeto orientado Perl?

Eu estou usando os objetos "de dentro para fora" de Damian Conway como descrito é o seu maravilhoso livroMelhores Práticas Perl para construir uma interface orientada a objeto para um sistema de segurança no meu cliente. Estou me deparando com a necessidade de usar métodos auxiliares internos em meu módulo que normalmente designaria como "_some_method". No entanto, isso parece interromper o encapsulamento, já que eles podem ser chamados diretamente pelo nome do pacote. Existe alguma maneira de tornar esses métodos verdadeiramente privados? Como um exemplo,

use SOD::MyOOInterface;

my $instance1 = SOD::MyOOInterface->new();
$instance1->_some_method;  #this produces an error: 
SOD::MyOOInterface::_some_method;   # this results in a 
                                    # successful method call 

Obviamente, não quero que a chamada direta de _some_method seja bem-sucedida. Existe alguma maneira de garantir isso?

questionAnswers(4)

yourAnswerToTheQuestion