perlquestion
Yoda
Hello Monks
<br><br>
I am trying to learn how to build a module. I read chapter 7 in <em> Perl in a Nutshell</em> and got most of it down. I was able to call my functions and get the desired responses. Then I wanted to try and make a constructor. My program used to return a string, now it returns some type of hash reference. I know I am not making sense, so let me show you what I mean.
<code>
#file caller.plx
require mytest;
use strict;
my ($mt) = new mytest;
$mt->put_name("Yoda");
print "The name is ".$mt->get_name()."\n";
######file mytest.pm
use strict;
my $name;
sub new {
my $self = {};
bless $self;
return $self;
}
sub get_name {
if (defined ($name)) {
return $name;
} else {
return "error";
}
}
sub put_name {
$name = "$_[0]";
}
1;
</code>
This is what I get
<code>
The name is mytest=HASH(0x176f1e8)
</code>
What I was expecting was
<code>
The name is Yoda
</code>
<br>
Is there a good source to learn about building constructors?
<br>
Thanks!