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?