http://qs1969.pair.com?node_id=56442

Steeeeeve has asked for the wisdom of the Perl Monks concerning the following question:

Help! I'm trying to avoid being further deprecated in this forum. I created an object and within that object I'm trying to use methods of another object. The first object is created as:
package SITE::USERS_lib; # use strict; # $USERS_libPackage = "USERS_lib"; # $USERS_libPackage::Version = "001108"; # $::USERS_lib = $USERS_libPackage; use Lady::Lady_TM; use Lady::Lady_DATE; # sub new(%){ my $class = shift; my $self = {}; bless $self, $class; local (%SITE) = @_; $self{'access_log_path'} = $SITE{'access_log_path'}; %SITE=(); $self->init(); return $self; } sub init(){ my $ref = new Lady_TM("$self{'access_log_path'}"); return; }
With the second object created as:
package Lady::Lady_TM; #use strict; sub new ($){ my $class = shift; my $self = {}; bless $self, $class; $self->init($_[0]); return $self; } sub init($){ my $self = shift; $self{'index_path'} = shift; return; }
When I run code that calls the new method in the first object I get an error when I attempt to create a reference to access methods in the second object. At this line: my $ref = new Lady_TM("$self{'access_log_path'}"); I am getting this error: Undefined subroutine &SITE::USERS_lib::Lady_TM called at C:/InetPub/wwwroot/GREENTV2/library/SITE/USERS_lib.pm line 44. I've tried everything,, the error is new. I know it has something to do with the way I'm creating my objects. -Steeeeeve