从字符串中调用perl模块的方法
发布时间:2020-12-15 21:48:56 所属栏目:大数据 来源:网络整理
导读:给定一个perl模块Foo.pm,方法是aSub()和bSub() my $obj = Foo-new();my $x = $obj-aSub($argA);my $y = $obj-bSub($argB); 我有一个TAP程序,我在其中构建一个哈希数组: my $test_case = [ 'aSub' = "foobar",'bSub' = "whobar"]; 我希望能够解析数组并使用k
给定一个perl模块Foo.pm,方法是aSub()和bSub()
my $obj = Foo->new(); my $x = $obj->aSub($argA); my $y = $obj->bSub($argB); 我有一个TAP程序,我在其中构建一个哈希数组: my $test_case = [ 'aSub' => "foobar",'bSub' => "whobar" ]; 我希望能够解析数组并使用key / value元素来调用Foo对象$obj上的方法; if ($key eq 'aSub') { $obj->aSub($value) } elsif ($key eq 'bSub') { $obj->bSub($value); } ... 我宁愿多态地这样做,所以我不必硬编码方法: $obj->{$key}($value) #or something of the sort 我已经尝试了几个使用引用和/或glob的方法,但我一直在收到错误:
Test :: Harness捕获错误并打印不太有用的消息? 解决方法
调用名称在变量中的方法很简单:
my $key = 'aSub'; my $value = 'foobar'; my $obj = Foo->new(); $obj->$key($value); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |