Bueno, en primer lugar Higher-Order Perl es muy bueno, pero es sobre la programación funcional, no objetos.
Perl Best Practices es un libro excelente, pero tiene limitaciones, y una de ellas es que Conway recomienda usar su propio módulo Class::Std para hacer objetos de adentro hacia afuera, y el consenso general parece ser (1) que si usted está va a hacer objetos de adentro hacia afuera, Object::InsideOut y Class::InsideOut son mejores maneras de hacerlo (2) y de todos modos, usar objetos basados en "Moose" es una mejor manera de hacerlo.
Esto ilustra lo que probablemente sea principal diferencia entre el mundo de Java y Perl: rara vez hay una forma estándar de hacer algo con Perl. Comenzando por alguien que se siente cómodo con los objetos en otro idioma, supongo que lo más interesante de Conway es que con el Object Oriented Perl ligeramente anticuado lo está viendo desarrollar gradualmente diferentes formas de agregar características OOP que ha estado dando por sentado.
Me gusta el estilo básico bendito de Perl OOP, pero debe comprender que su encapsulación es muy débil y que, aunque la herencia de métodos funciona, normalmente no hay herencia de datos. También hay algunos trucos bastante perlish en uso amplio, como la generación automática de descriptores de acceso usando una rutina AUTOLOAD
.
En cuanto a lo que puede leer sobre el tema, no olvide la documentación en línea que viene con Perl: perldoc. Tenga en cuenta la sección "Tutoriales" en la parte superior. Si está oxidado en las referencias y estructuras de datos de Perl, lea los dos primeros: perldoc perlreftut y perldoc perldsc. Un poco más abajo en la lista, verá múltiples tutoriales de OOP. En gran parte se trata de objetos simples basados en href, aunque hay algunas rarezas graves allí, como el esquema de Tom Christiansen para objetos basados en cierres en la parte inferior de: perldoc perltoot
Si está interesado en algunos de los más recientes las formas en que las personas hacen las cosas, es posible que desee comenzar con Moose, que se supone que es lo más cercano que puede llegar a los objetos perl6 mientras sigue escribiendo el código perl5. Por cierto: ignora la palabra "posmoderno" que hay, es una broma tonta que no tiene ningún sentido.
Si le interesan los objetos de adentro hacia afuera (que tienen encapsulado a prueba de balas, pero que son quizás un poco molestos de depurar-- no puede usar Data::Dumper en el objeto para obtener su estado), me gustaría sugiero comenzar con este perl5 wiki page.
respuesta relacionada: http: // stackoverflow. com/questions/984868/is-my-book-too-old-to-learn-from-perl/984909 # 984909 – mercator
En realidad, se refiere al libro en el que tengo muy poco interés. No necesito sintaxis general, necesita OOP parte de th e idioma – Bostone