in reply to Autoload'ed class method calls
The easy way to explain this is to consider a typical constructor.
sub new { my $class = shift; my $data = {}; bless $data, $class; return $data; }
Now, why is the first argument to the constructor called $class instead of $self? Because when the constructor is called properly, the first argument to it is the name of the class (as a string), not an object. This is because you haven't created the object yet!
$package = WM::Install::Table::ArchiveTbl->get_pkgname();
The previous line of code cannot work with the current structure of your AUTOLOAD because the first argument will be the classname and not a hashref. Either call the method from an instance of the class or recode your AUTOLOAD.
Cheers,
Ovid
Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: (Ovid) Re: Autoload'ed class method calls
by rinceWind (Monsignor) on Apr 05, 2002 at 18:36 UTC | |
by Ovid (Cardinal) on Apr 05, 2002 at 18:46 UTC |