SPUG: Inheritance
Umar Cheema
umar at drizzle.com
Mon Oct 11 17:16:02 CDT 2004
In your package CLE2::ProvisionerIF, you seem to be missing this line:
use CLE2::Interface;
On Mon, 11 Oct 2004, Dan Ebert wrote:
>
> I am trying to create a series of modules which inherit from a base class.
> The base class looks like this:
>
> package CLE2::Interface;
> ###############################################################################
> use strict;
> ###############################################################################
> use vars qw(@ISA @EXPORT_OK $VERSION $err);
> require Exporter;
> $VERSION = '0.01';
> @ISA = qw(Exporter);
> ###############################################################################
> zub allocate {
> my $invocant = shift;
> my $class = ref($invocant) || $invocant; # Object or class name
> my $interface = bless { @_ }, $class;
> return $interface;
> }
> ###############################################################################
>
> and is saved to a file: CLE2/Interface.pm
>
> I have another module, CLE2/ProvisionerIF.pm
>
> package CLE2::ProvisionerIF;
> ###############################################################################
> use strict;
> ###############################################################################
> use vars qw(@ISA @EXPORT_OK $VERSION $err);
> require Exporter;
> $VERSION = '0.01';
> @ISA = ("CLE2::Interface"); # I'v also tried @ISA = ("Interface");
> ###############################################################################
> zub new {
> my $pkg = shift;
> return $pkg->allocate(@_);
> }
> ###############################################################################
>
> I have a script which uses CLE2::ProvisionerIF:
>
> use CLE2::ProvisionerIF;
>
> my $provisioner = new CLE2::ProvisionerIF( %param_hash );
>
> I'm getting an error, "Can't locate object method "allocate" via package
> "CLE2::ProvisionerIF" at CLE2/ProvisionerIF.pm line 20." (line 20 is the
> line with "return $pkg->allocate(@_)")
>
> I must be missing something simple, but I can't put my finger on it.
>
> Any help is appreciated.
>
> Thanks,
>
> Dan.
> ----------------------------------------------------------
> Immigration is the sincerest form of flattery.
> - Unknown
> ----------------------------------------------------------
>
>
> _____________________________________________________________
> Seattle Perl Users Group Mailing List
> POST TO: spug-list at mail.pm.org http://spugwiki.perlocity.org
> ACCOUNT CONFIG: http://mail.pm.org/mailman/listinfo/spug-list
> MEETINGS: 3rd Tuesdays, Location Unknown
> WEB PAGE: http://www.seattleperl.org
>
More information about the spug-list
mailing list