package ThisIsMyPackge;
package Foo;
package A
our @ISA = qw{Foo};
sub validate {
do something;
}
package B
our @ISA = qw{Foo};
sub validate {
do something;
}
package C
our @ISA = qw{Foo};
sub validate {
do something;
}
package Bar;
package D
our @ISA = qw{Bar}
sub apply {
do something;
}
package E
our @ISA = qw{Bar}
sub apply {
do something;
}
package F
our @ISA = qw{Bar}
sub apply {
do something;
}
####
package ThisIsMyPackge;
use A;
use B;
use C;
use D;
use E;
use F;
use 79 more times ...
.....
####
foreach my $bar (@{$objects}) {
my $foo = $bar->object;
....
next unless $foo->validate;
$bar->apply;
....
}