Dispatch Table - Perl Implementation

Perl Implementation

The following shows one way to implement a dispatch table in Perl, using a hash to store references to code (also known as function pointers).

#define the table using one anonymous code-ref and one named code-ref my %dispatch = ( "-h" => sub { return "hello\n"; }, "-g" => \&say_goodbye ); sub say_goodbye { return "goodbye\n"; } #fetch the code ref from the table, and invoke it my $sub = $dispatch{$ARGV}; print $sub ? $sub-> : "unknown argument\n";

Running this Perl program as perl greet -h will produce "hello", and running it as perl greet -g will produce "goodbye".

Read more about this topic:  Dispatch Table