С учетом модуля 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"
];
Я бы хотел иметь возможность анализировать массив и использовать элементы ключ / значение для вызова методов объекта 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, но продолжаю получать сообщение об ошибке:
Ошибка: возникла исключительная ситуация: aSub не определен
Test :: Harness фиксирует ошибку и печатает менее полезное сообщение?