以下は最小化された例で、OA.pm
(親オブジェクト)、OB.pm
子オブジェクト、およびランナースクリプトがあります。
オブジェクトOB:
package OB;
use OA;
require Exporter;
@ISA = (Exporter, OA);
@EXPORT = ();
sub new {
my $class = shift;
print $class->SUPER;
bless {}, $class;
};
1;
オブジェクトOA:
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)そして、私が複数の親を持っている場合、SUPERは何を指しますか?
3)use OA
必須でしたか?