Ниже приведен минимизированы пример, где у меня есть OA.pm
(родительский объект), OB.pm
дочерний объект, а второе место сценарий:СУПЕР неопределен, когда я множественное наследование
О.Б. объекта:
package OB;
use OA;
require Exporter;
@ISA = (Exporter, OA);
@EXPORT =();
sub new {
my $class = shift;
print $class->SUPER;
bless {}, $class;
};
1;
О.
Объект:
package OA;
require Exporter;
@ISA = (Exporter);
@EXPORT =();
sub new {
bless {}, shift;
};
1;
И бегун:
#!/usr/bin/perl
use strict;
use warnings;
use OB;
print OB->new;
Когда я бегу, я получил:
Can't locate object method "SUPER" via package "OB" at OB.pm line 10.
1) Что может быть не так?
2) И что бы СУПЕР указал на то, что у меня есть более одного родителя?
3) Был ли use OA
обязательным?
Обратите внимание, что вам не нужно наследовать от Экспортера. Вам просто нужно использовать Exporter qw (import); ' – ikegami