Perl viene muy bien para ese paradigma de programación. El operador 'eval' está precisamente para estos casos. La cantidad de veces que es útil la generación de código para ahorrar muchas líneas. Un ejemplo es la creación de expresiones regulares para diseccionar una entrada cuyo formato no es conocido hasta en tiempo de ejecución.
En Google, buscando por Perl y metaprogramming salen unas cuantas referencias.
En CPAN, hay un módulo precisamente para esto:
Acme::Metification.