Jak mogę znaleźć wszystkie pakiety dziedziczące z pakietu w Perlu?
Mam wiele różnych stron, z których pobierane są dane i masuję do innych formatów (używając Perla) do użytku w pracy, które są uruchamiane z jednego skryptu Perla tak:
#! /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;
i tak dalej i tak dalej. W tej chwili każdyMy::Package
jest jego własnym pakietem; nie dziedziczy po pakiecie bazowym lub czymkolwiek. Planuję je ponownie napisać za pomocąMoose
i miałem nadzieję, że zamiast edytować skrypt Perla, który uruchamia pobieranie za każdym razem, gdy dodawany jest nowy pakiet, może istnieć sposób na znalezienie pakietów dziedziczących z pakietu podstawowego, a następnie w instancji każdej pętli i wykonanie pobieranie, trochę tak:
#! /usr/bin/perl
use strict;
for my $pname (packages_that_inherit_from("My::Package")) {
my $package = $pname->new;
$package->download;
}
Czy to możliwe, czy coś takiego jest możliwe?
TIA