Modules and Packages
Dispatch Helpers
A main program can choose which package helper to call without importing external files.
Dispatch Helpers
dispatch_helpers.pl
use strict;
use warnings;
package TextTools;
sub shout {
my ($text) = @_;
return uc $text;
}
sub whisper {
my ($text) = @_;
return lc $text;
}
package main;
my $mode = ;
my $text = "Perl";
my $result;
if ($mode eq "shout") {
$result = TextTools::shout($text);
} else {
$result = TextTools::whisper($text);
}
print "mode=$mode\n";
print "result=$result\n";
use strict;
use warnings;
package TextTools;
sub shout {
my ($text) = @_;
return uc $text;
}
sub whisper {
my ($text) = @_;
return lc $text;
}
package main;
my $mode = ;
my $text = "Perl";
my $result;
if ($mode eq "shout") {
$result = TextTools::shout($text);
} else {
$result = TextTools::whisper($text);
}
print "mode=$mode\n";
print "result=$result\n";
dispatch
Dispatch chooses which helper should handle a value.