Como posso encontrar todos os pacotes que herdam de um pacote em Perl?
Eu tenho vários sites diferentes dos quais eu faço o download de dados e os faço massagens em outros formatos (usando o Perl) para uso no trabalho, que são todos executados a partir de um script Perl meio que assim:
#! /usr/bin/perl
use strict;
use My::Package1;
use My::Package2;
my $p1 = My::Package1->new;
$p1->download;
my $p2 = My::Package2->new;
$p2->download;
e assim por diante. No momento, cadaMy::Package
é o seu próprio pacote; não herda de um pacote básico ou qualquer coisa. Estou planejando reescrevê-los usandoMoose
e eu esperava que, em vez de ter que editar o script Perl que executa o download cada vez que um novo pacote fosse adicionado, poderia haver uma maneira de encontrar pacotes que herdam de um pacote base e, em um loop, instanciar cada um e fazer o baixando, tipo assim:
#! /usr/bin/perl
use strict;
for my $pname (packages_that_inherit_from("My::Package")) {
my $package = $pname->new;
$package->download;
}
É isso ou algo ilusório possível?
TIA