CaFe.pm - Perl Mongers de Capital Federal
http://cafe.pm.org/


Review de "Perl Objects, References & Modules"

por Walter Marcelo Lamagna (wlamagna (at) hotmail.com)


Autor: Randal L. Schwartz with Tom Phoenix
Editorial: O' Reilly
ISBN: 0-596-00478-8



Introducción


Perl da una solución completa a la metodología de programaciòn orientada a objetos, no es fácil para el principiante y quizas es intimidante, es recomendado para el programador avanzado que desea usar Objetos en Perl, crear y mantener programas existentes Orientados a Objetos.

Es ampliamente recomendado leer este libro del principio la final sin saltar capítulos ya que cada capítulo presenta mejores maneras para codigo explicado anteriormente.

Capítulo 1 - Introduction

Es recomendado leer antes "Learning Perl" or el libro de la llama.


Capítulo 2 - Building Larger Programs

Aqui se explican los paquetes, métodos para incluirlos y como dividir el programa en partes usando "do".


Capítulo 3 - Introduction to References

Referencias clarificadas, se explican con muchos ejemplos las referencias a Arrays y Hashes.


Capítulo 4 - References and Scoping

Mas ejemplos sobre como utilizar referencias y como gestinar estructuras de datos anónimas.


Capítulo 5 - Manipulating Complex Data Structures

Enseña como utilizar el debugger para examinar estructuras de datos complejas usando Data::Dumper y como leer la salida del debugger hacia otro programa, con el modulo Storable.


Capítulo 6 - Subroutine References

Todo esta muy bien organizado, tras explicar una introducción a referencias se explican referencias a subrutinas (coderef). Como con estructuras de datos anónimas, puedes crear subrutinas anónimas con Perl y devolver subrutinas de otras subrutinas.


Capítulo 7 - Practical Reference Tricks

En éste punto aprenderas acerca de la estrategias eficientes de ordenamiento y como optimizar la tarea con el operador "sort".


Capítulo 8 - Introduction to Objects

Comienza con objetos básicos, describiendo uso avanzado de classes y diferencia entre -> y :: en la invocación de métodos.
El uso de la variable @ISA y la palabar SUPER (para super clases) para herencia, métodos de class overriding.
Muy buena explicación de como reutilizar código, paso a paso.


Capítulo 9 - Objects with Data

Explica el operador "bless", crea objetos, instancias de clases y como funcionan con ejemplos simples con muchas variables miembro. Entenderás constructores de objetos, diferencias entre la utilización de clases ú objetos y como se implementa la encapsulación.


Capítulo 10 - Object Destruction

Es importante saber cuando un objeto es destruido ya que se podría requerir hacer tareas de mantenimiento, para ello existe el método DESTROY que es llamado automáticamente cuando el objeto muere.
Comienza con ejemplos simples y va hacia Destruccion anidada de objetos, la variable %REGISTRY y ejemplos instructivos para analizar con detenimiento.

Capítulo 11 - Some Advanced Object Topics

Uso de la clase UNIVERSAL, clase de la cual todos los objetos se derivan, su método "isa" (testea si la clase es miembro de alguna otra clase) y el método "can" (testea si la clase tiene un método en particular) disponible en todos los objetos:

$object->isa("Animal")
$object->can("printname")

Éste capítulo también presenta el método AUTOLOAD, explica el uso del módulo de CPAN Class::MethodMaker y herencia múltiple.


Capítulo 12 - Using Modules

Éste capítulo explica cómo utilizar u escribir nuestros própios módulos.


Capítulo 13 - Writing a Distribution

Crear una distribución es lo que necesitas si querés incorporar en tu módulo, información de instalación, documentación, saber si faltan archivos requeridos por el módulo, funciones de testeo y verificar la correcta operación del módulo (make test) e interfaces con el lenguaje c.


Capítulo 14 - Essential Testing

Que testear ? Como testear ? Randal da una introducción al testing de módulos que creemos con perl y como utilizar los módulos Test::Simple or Test::More.


Capítulo 15 - Contributing to CPAN

Si creas un módulo y lo deseas compartir con el mundo para ayudar a otros con tu creación, lo que necesitas es CPAN, la red comprensiva de archivos de perl. Aprenderas como prepara tu distribución, subirla, anunciarla y lograr que sea testeada por otros desarrolladores en todo tipo de plataformas.