######### Main script ######### index.pl #!C:/perl5.8/bin/perl.exe use CGI qw(:cgi); my $query = get_param('action') || 'default'; # login.pl contains the subroutine do_login() require "login.pl"; my %actions = ( default => \&default, login => \&do_login ); &{ $actions{$query} } sub default { # show default page } ######### Auxiliary script ######### login.pl sub do_login { #process login } 1;