http://www.perlmonks.org?node_id=56003

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

Hello Monks

I am trying to learn how to build a module. I read chapter 7 in Perl in a Nutshell 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.
#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;
This is what I get
The name is mytest=HASH(0x176f1e8)
What I was expecting was
The name is Yoda

Is there a good source to learn about building constructors?
Thanks!