package My::Application::Base;
use CGI::Application;
our @ISA = qw( CGI::Application );
sub setup{
# Do basic stuff, including run_modes everyone has, like 'redirect
+_login'
}
Note the reference to run_modes. Later you have
package My::Application::Reports;
use My::Application::Base;
our @ISA = qw( My::Application::Base );
sub setup{
my $self = shift;
$self->runmodes([qw(
choose
display
)]);
}
As far as I can tell the run_modes in Base are overwritten by the run_modes in Reports and I get a "No such run mode..." error when reffering to any run_mode in Base.
Did you encounter this?
Also, how would you implement such a scheme as this? Would each C::A have its own instance script?
Update:
fwi, I've post my attempt here |