http://www.perlmonks.org?node_id=43416


in reply to Problems with scripts

You might want to rewrite this section of code so that it is a little clearer:

if ($location eq ""){ &main }elsif ($location eq lc("misc")){ &misc }elsif ($location eq lc("links")){ &links }else{ default('Where are you trying to go?'); }

by using a switch construct (which is really an abuse of a looping construct):

SWITCH: for ($location) { /^$/ && do {&main() ;last SWITCH}; /^misc$/i && do {&misc() ;last SWITCH}; /^links$/i && do {&links() ;last SWITCH}; default('Where are you trying to go'); # catch anything else }