llamadas a métodos tienen varias formas:
llamadas de método, posiblemente heredado:
->method()
pide explícitamente sub paquete :: método, ya sea en el árbol de herencia o No:
->Package::method()
pide explícitamente la que se refiere a sub, ya sea en el árbol de herencia o no:
->$coderef()
llama al método que han sido llamados por __PACKAGE__->method()
si no hubiera un método secundario de __PACKAGE__
(NB la clase o el objeto a la izquierda del ->
es irrelevante):
->SUPER::method()
Cualquiera de los anteriores, dependiendo de los contenidos de $method
:.
->$method()
(Legal incluso bajo use strict;
)
Si bien la primera forma es la más común, vale la pena aprender sobre los demás y cómo funcionan.
Geo, si desea conocer los detalles más nítidos de los objetos en Perl, recoja una copia de Objectian Perl orientado a objetos de Damian Conway http://www.manning.com/conway/ Explica con gran detalle las diferentes formas de usa las características de OOL de Perl. Tiene de todo, desde hashes benditos básicos hasta generación de métodos dinámicos, hasta exoticos como codereds benditos. Es un libro muy bien escrito. Pero también echa un vistazo a Moose. Para muchos, si no para la mayoría, las cosas de Moose son la forma correcta de hacer Perl OOP. – daotoad