¿Cómo defino métodos privados o internos en Perl orientado a objetos?

Estoy usando los objetos "de adentro hacia afuera" de Damian Conway como se describe en su maravilloso libro.Mejores Prácticas Perl para construir una interfaz orientada a objetos a un sistema de seguridad en mi cliente. Veo la necesidad de usar métodos de ayuda internos dentro de mi módulo que normalmente designaría como "_some_method". Sin embargo, esto parece romper la encapsulación, ya que pueden llamarse directamente a través del nombre del paquete. ¿Hay alguna forma de hacer estos métodos verdaderamente privados? Como ejemplo,

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 no quiero que la llamada directa de _some_method tenga éxito. ¿Hay alguna forma de garantizar esto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta