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


in reply to What's the best way to make my script execute different sections without using goto?

I would use a dispatch table with a bunch of subroutines, one for each action. The dispatch table makes it easy to use the command line argument to call the proper bit of code. Simple example:

my %ACTION_NAMED = define_actions(); my $action = shift; # First argument my @args = @ARGV; # Remaining arguments if (exists $ACTION_NAMED{$action}) { $ACTION_NAMED{$action}->(@args); } else { $ACTION_NAMED{_default_}->(@args); } sub define_actions { return ( action1 => \&action1, action2 => \&action2, _default_ => \&usage, ); } sub action1 { ... } sub action2 { ... } sub usage { ... }
  • Comment on Re: What's the best way to make my script execute different sections without using goto?
  • Download Code

Replies are listed 'Best First'.
Re^2: What's the best way to make my script execute different sections without using goto?
by gctaylor1 (Hermit) on Feb 25, 2009 at 00:48 UTC
    I'm going to go read about dispatch tables

    Thank-you for your time and advice.