Un proyecto grande puede ser mucho mejor manejado si es construido utilizando módulos, dividiendo un programa en varios archivos separados. Esto tiene la ventaja adicional de simplifcar grandemente la reutilización de código.
Además de modularizar nuestro código, en Perl utilizamos frecuentemente módulos ajenos, pues contamos con una gran cantidad de módulos, casi todos ellos contribuciones voluntarias de los usuarios del lenguaje, organizados en el CPAN ([1]).
Hay una sutil diferencia entre módulos y bibliotecas: Una biblioteca
es únicamente una colección de funciones, en tanto que un módulo está
diseñado para la orientación a objetos. Claro, se puede invocar a
un módulo como a una biblioteca o al revés, pero el diseño favorece
hacerlo de esta manera. Abundo al respecto en .