#!/usr/bin/perl -w use strict; use CGI qw/:standard/; sub main { print header(), start_html('Welcome'), p( strong('Welcome to my website!') ), end_html(); } sub login { print header(), start_html('Member Login'), p( strong('Member Login') ), p('Login below:'), end_html(); } sub members { print header(), start_html('I am a member-only page!'), p( strong('Members Page') ), end_html(); } sub _invalid { print header(), start_html('Invalid Function'), p( strong('Invalid Script Function') ), p('That fucntion is not valid!'), end_html(); } my $actions = { main => \&main, login => \&login, members => \&members, _invalid => \&_invalid }; my $q = param('q') || 'main'; $actions->{ exists $actions->{$q} ? $q : '_invalid' }->();