我正在尝试实现一个调度表,该调度表调用Perl模块内的函数。我知道一般如何实现调度表,但是当从$ self内引用对象方法时,似乎无法正确实现。也许我对Google的搜索还不够,但是到目前为止,正确的语法还难以捉摸。
我已经通过调用跟踪了参数,而且我知道发生了什么事-函数引用没有收到对$ self的引用作为它们的第一个参数。这就是我目前在$ self中拥有的东西。我相信我已正确复制了此内容;如果我犯了一个错误并且它没有运行,我深表歉意。
package MyRefHashTest;
use strict;
use warnings;
sub new {
my $class = shift;
my $self = {
DISPATCH => {
ONE => \&funcOne,
TWO => \&funcTwo,
THREE => \&funcThree,
FOUR => \&funcFour
}
};
bless $self, $class;
return $self;
}
sub funcOne {
my ($self, $param) = @_;
print "func1 $param \n";
}
sub funcTwo {
my ($self, $param) = @_;
print "func2 $param \n";
}
sub funcThree {
my ($self, $param) = @_;
print …Run Code Online (Sandbox Code Playgroud)