#!/usr/bin/perl -w use CGI qw(:standard); use strict; #always! my $location = param("place"); print header; my %subs = ( 'home'=>\&home, 'news'=>\&news, ); if (!$location){ &home }elsif (defined(my $action = $subs{$location})){ $action->(); } sub home{ print "this is home. I am John, hear me roar"; } sub news{ print "this is news"; }