package Bar;
use base qw(CGI::Application);
sub useful_method {
my $self = shift;
# do something useful here
}
1;
package Foo;
use Base qw(Bar);
# By inheriting from Bar, we also inherit everything
# that Bar inherits, so you don't need to specifically
# mention CGI::Application in package Foo, since Bar
# deals with that for you
sub setup {
my $self = shift;
$self->run_modes(qw(runmode1 runmode2));
}
sub runmode1 {
my $self = shift;
my $results = $self->useful_method();
...
}
1;
So in the above example Bar would contain all of your useful methods and runmodes that all of your other application can share. Whereas Foo is the actual application that you load and run in your instance script
|