On Nov 11, Rob Richardson said: >$self->{'users'}->{$loginName} = $user; #<== This is line 47 > >"Can't use string ("interrobang") as a HASH ref while "strict refs" in >use at UserList.pm line 47, <USERLIST> line 1."
>"Interrobang" is the login name of the only user in the data file I am >testing this script against. Right, and as I'm about to show, it's the first argument to your AddUser() function. >sub Load >{ > my $self = shift; > my $fileName = shift; > my $user; You don't use $user. Skipping ahead to the trouble-spot: > while (<USERLIST>) > { > chomp; > AddUser (split /,/); That should be $self->AddUser(split /,/)... > } >} ... because if it isn't: >sub AddUser >{ > my $self = shift; Then $self will be the first value from (split /,/), which is the login name. > my $user = new User; > ($user->{'loginName'}, > $user->{'title'}, > $user->{'firstName'}, > $user->{'lastName'}, > $user->{'phone'}, > $user->{'email'}) = @_; > my $loginName = $user->{'loginName'}; > $self->{'users'}->{$loginName} = $user; <== This is line 47 And since $self is a string, and strict is on, $self->{...} is an error. >} -- Jeff "japhy" Pinyan [EMAIL PROTECTED] http://www.pobox.com/~japhy/ RPI Acacia brother #734 http://www.perlmonks.org/ http://www.cpan.org/ <stu> what does y/// stand for? <tenderpuss> why, yansliterate of course. [ I'm looking for programming work. If you like my work, let me know. ] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]