ServerName ...
Alias /cgi-bin/ /mf/cgi-bin/
SetHandler perl-script
PerlHandler ModPerl::Registry
PerlSendHeader On
Options +ExecCGI
####
#!/usr/bin/perl -w
use strict;
use warnings;
use CGI::Application;
#
# Base package
#
package Base;
use base 'CGI::Application';
sub redirectPage
{
my ( $self, $url ) = (@_);
$self->header_add( -location => $url );
$self->header_type('redirect');
}
#
# Derived package
#
package Derived;
use base 'Base';
sub setup
{
my( $self ) = ( @_ );
$self->run_modes( homepage => 'homepage' );
$self->start_mode('homepage');
$self->mode_param('mode');
}
#
# Dummy method to redirect to an external site.
#
sub homepage
{
my( $self ) = ( @_ );
return ( $self->redirectPage("http://example.com/") );
}
#
# Instance script
#
package main;
my $derived = new Derived();
$derived->run();
####
package Base;
use base 'CGI::Application';
use CGI::Application::Plugin::Redirect;
sub redirectPage
{
my ( $self, $url ) = (@_);
return( $self->redirect( $url ) );
}